關(guān)于Javasvript中 變量的命名及賦值--hoisting變量提升
在javascript里,所有的声明以及变量的赋值基本都是遵循:声明==>赋值==>调用,或者是:初始化==>调用,最后都会被释放清理。但是,其中有个变量提升的问题,如下:
var x = 5; // 初始化 x
var y = 7; // 初始化 y
console.log(x+y);
var x2 = 5; // 初始化 x
console.log(x2+y2);
var y2 = 7; // 初始化 y
当你调用的时候就会发现:第二个为NaN!再看下边这个:
var x1;
var y1;
x1=5;
y1=7;
console.log(x1+y1);
var x;
x2=5;
console.log(x2+y2);
y2=7;
var y2;
在javascript中,函数及变量的声明都将被自动提升到函数的最顶部!JavaScript 中,变量可以在使用后声明,也就是变量可以先使用再声明。
上边四个例子很好的解释了变量提升--hoisting,对于大多数程序员来说并不知道 JavaScript 变量提升。
如果程序员不能很好的理解变量提升,他们写的程序就容易出现一些问题。为了避免这些问题,通常我们在每个作用域开始前声明这些变量,这也是正常的 JavaScript 解析步骤,易于我们理解。
注意:JavaScript 严格模式(strict mode)不允许使用未声明的变量!
點擊查看更多內(nèi)容
3人點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦