1.拿一個節(jié)點里的文本時僧须,不要直接nodevalue遗淳,如果該節(jié)點的子節(jié)點是標簽,那么< > /會被轉義灯节,這種情況使用innerText
2.對于類數(shù)組元素是不可以使用array類型的forEach方法的猛计,這時應該用call方法來調(diào)用forEach,而且在這里要注意唠摹,不能這樣: Arrary.forEach.call(params),應該[].forEach.call()
昨天的demo,
//items是一個HTML collections 所以不能直接使用forEach方法,對于類數(shù)組對象
//應該用call
[].forEach.call(items, function(item,index,array) {
data.push([item.innerText.slice(0,2),Number(item.innerText.slice(7,9))]);
});
我按常規(guī)使用第一種方式時報錯
3.input標簽里的值是string類型奉瘤,當判斷輸入框為空值時可使用(value==="")這樣的語句
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);
}
}