JS--问题汇总

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+'按钮')

        })
    }

JS--问题汇总_第1张图片
无论按那个按钮,都会显示“第五个按钮”,这是因为,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';

你可能感兴趣的:(js,编程中遇到的问题)