W3School说函数中使用的所有变量都应声明为local
变量。
局部变量must
用var
关键字声明,否则它们将成为global
变量。
function multiply () {
var x = 10;
var y = 20;
return x * y;
};
function multiply () {
let x = 10;
let y = 20;
return x * y;
};
但是第二个函数中的let
变量仍然是局部变量。
用var
以外的关键字声明的局部变量如何成为全局变量?
答案 0 :(得分:3)
使用var关键字以外的其他局部变量如何成为全局变量?
他们不能。用var
,let
或const
声明的每个变量都将作用域设为当前(函数/块)作用域。 W3Schools有点过时了。
答案 1 :(得分:0)
在es6之后,let和const出现了。它们主要用于将块作用域添加到变量。使用Javascript MDN将使您清楚地了解这两个关键字的工作方式。
“必须使用var关键字声明局部变量,否则它们将成为全局变量”。该声明不再正确,您的信息来源可能已过时。
https://hackernoon.com/js-var-let-or-const-67e51dbb716f-本文可能会有所帮助。