我读了一篇我们不再需要使用var关键字的文章,但是我在代码中遇到了一个问题,因为我已经使用let声明了它,所以无法在if块内使用变量。
如果我们不需要使用var怎么解决这个问题?
let elementWidth = el.getBoundingClientRect().width
let windowWidth = window.width // 400 px
if (windowWidth > elementWidth) {
elementWidth += 200
}
console.log(elementWidth) // 400 px
答案 0 :(得分:0)
“ let”变量将不会更改块范围之外的值,就像对于语句一样
for( let j = 0; j < 3; j++ ) {
console.log(i);// i = 3
};
console.log(j); //undefined
“ var”用于函数作用域,像这样的全局作用域
for( var i= 0; i < 3; i++ ) {
console.log(i);
};
console.log(i);// i = 3
了解更多 https://edgecoders.com/function-scopes-and-block-scopes-in-javascript-25bbd7f293d7