何时使用let以及何时仍应使用var

时间:2019-02-26 10:38:19

标签: javascript ecmascript-6

我读了一篇我们不再需要使用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

1 个答案:

答案 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