首页 > Web开发 > 详细

js变量提升

时间:2017-08-07 11:03:13      阅读:128      评论:0      收藏:0      [点我收藏+]

js预解析 需要注意的 JS会先检查遍历的时候先声明不赋值,这里有2点需要注意
* 1,函数声明优先于变量声明,
* 2,变量声明同级,安先后顺序执行
代码如下

alert()
a()
var a = 3;
function a(){
alert(10)
};
a=3;
alert(a);
a=6;
a()

解析如下

var a;
a=function (){alert(10)}
alert(a)
a();
a=3;
alert(a)
a=6
a()

就很容易得到结果 function(){alert(10)},10,3,a is not function


这里就要见到ES6,let const ,这2个关键字都是创建一个块级变量,且不会被提升,需要注意的的是必须要先声明。
上面的代码用ES6就变的简单很多

alert(a)
let a = 3

结果会报错,a is not defined

js变量提升

原文:http://www.cnblogs.com/zhijunw/p/7297991.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!