为了账号安全,请及时绑定邮箱和手机立即绑定

关于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)不允许使用未声明的变量!

点击查看更多内容
3人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消