JavaScript函数声明、变量声明及赋值的优先级问题
2016-01-29 14:36
453 查看
在JavaScript语言中,函数声明和变量声明(注意:只有声明部分会被提升,赋值部分不会被提升)会被预解析,被浏览器引擎提升到当前作用域的最顶端,如下所示:
代码会显示undefined,因为 var a=2; 的声明部分会被解析器提升到func函数作用域的最顶部,所以上面的代码和下面是一样的:
<span style="font-size:18px;">var a = 1; function func(){ alert(a); var a = 2; } func();</span>
代码会显示undefined,因为 var a=2; 的声明部分会被解析器提升到func函数作用域的最顶部,所以上面的代码和下面是一样的:
<span style="font-size:18px;">var a = 1; function func(){ var a;//自动被赋值为undefined alert(a); a = 2; } func();</span>
相关文章推荐
- JS禁止用F5键
- 使用javascript全局改变CSS样式(网页样式)
- js中的基本正则以及过滤特殊字符
- js 函数调用模式小结
- phantomjs入门
- ExtJS中viewController、viewModel、View、Model的关联展示
- JSONKit报错
- JavaScript操作select元素和option的实例代码
- ExtJS 网页版执行工具
- JSP自定义标签必知必会
- JSP自定义标签必知必会
- jsapi 同时上传多张照片
- servlet+jsp实现过滤器 防止用户未登录访问
- JS刷新当前页面的几种方法总结
- js 判断截取数字
- js 转json格式的字符串为对象或数组(前后台)
- Anynote 基于ExtJS多用户个人信息管理系统
- javascript学习笔记之五
- d3js绘制多系统柱形图
- JSP简单练习-数组应用实例