javascript 变量提升的问题
PHP中文网
PHP中文网 2017-04-11 12:09:30
[JavaScript讨论组]
function ad(a){
  var a ;
  console.log(a);
}
ad(3)

为什么不是输出 undefined

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
PHP中文网
  1. 使用var语句多次声明一个变量不仅是合法的,而且也不会造成任何错误.

  2. 如果重复使用的一个声明有一个初始值,那么它担当的不过是一个赋值语句的角色.

  3. 如果重复使用的一个声明没有一个初始值,那么它不会对原来存在的变量有任何的影响.
    很显然你的符合第三点。

巴扎黑

因为命名重复var a;会被忽略。

怪我咯
function ad(a){
  var a = "" ;
  console.log(a);
}
ad(3)

undefined表示“未定义”,所以会查找父域,父域值是参数值。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号