2017-3-1

1.拿一個(gè)節(jié)點(diǎn)里的文本時(shí),不要直接nodevalue,如果該節(jié)點(diǎn)的子節(jié)點(diǎn)是標(biāo)簽,那么< > /會(huì)被轉(zhuǎn)義,這種情況使用innerText

2.對(duì)于類數(shù)組元素是不可以使用array類型的forEach方法的,這時(shí)應(yīng)該用call方法來(lái)調(diào)用forEach,而且在這里要注意,不能這樣: Arrary.forEach.call(params),應(yīng)該[].forEach.call()
昨天的demo,

//items是一個(gè)HTML collections 所以不能直接使用forEach方法,對(duì)于類數(shù)組對(duì)象
//應(yīng)該用call
[].forEach.call(items, function(item,index,array) {
     
     data.push([item.innerText.slice(0,2),Number(item.innerText.slice(7,9))]);

});

我按常規(guī)使用第一種方式時(shí)報(bào)錯(cuò)
3.input標(biāo)簽里的值是string類型,當(dāng)判斷輸入框?yàn)榭罩禃r(shí)可使用(value==="")這樣的語(yǔ)句
4.昨天試了下策略模式,非常的好用 以后再遇到分支判斷多的情況,優(yōu)先考慮策略模式

//策略模式
var strategies = {
    "shift":function  (value) {
            arr.shift(value);
            render();
    },
    "push":function  (value) {
            arr.push(value);
            render();
    },
    "unshift":function  (value) {
            arr.unshift(value);
            render();
    },
    "pop":function  (value) {
            arr.pop(value);
            render();
    }
};

var handleItem = function  (model) {
    var value = document.getElementById('dataInput').value;
    console.log(typeof value);
    if (value === "") {
        return;
    } else {
        strategies[model](value);
    }
    
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容