JS
1 children 属性与 childNodes 属性的差别:
name | function |
---|---|
childNodes | 属性返回所有的节点,包括文本节点、注释节点; |
children | 属性只返回元素节点; |
2 let/var
var 不存在作用域,所以在使用的时候存在缺点,例如
const btns = document.getElementsByTagName("button");
for(var i = 0; i<btns.length;i++){
btns[i].addEventListener('click', show=>{
console.log("第"+i+'按钮')
})
}
无论按那个按钮,都会显示“第五个按钮”,这是因为,for循环下的i是和for中的不一样的,也可以认为这是一种异步的现象,解决方法是将var改成let就可以了。let和function都有作用域。
3 const
const不能改变变量的指向但可以改变变量中的属性值
const obj ={
name = 'tom',
age:30
}
obj.name = 'jom';
补充:属性的增强写法
const name = 'tom';
const age = 39;
const obj ={
name,
age
//定义函数
run(){
//函数内容
}
}
obj.name = 'jom';