再谈js的作用域
2016-06-04 01:49
316 查看
再谈js的作用域
面试中遇到的题目: 题目一: var word = "hello world"; (function(){ alert(word); var word = "hello test"; })();
效果 http://keleyi.com/keleyi/phtml/js/1.htm
题目二: var word ="hello world"; (function(){ alert(world); function world(){ console.log("hello test"); } })()
效果 http://keleyi.com/keleyi/phtml/js/1b.htm
这两段代码会发生什么?console一下,你就知道。
局部变量的优先级大于全局变量。
js编译机制 js分为编译期和运行期,编译的过程中为var声明的变量和*function*分配内存,运行期顺序执行。
var 声明的变量,只有变量声明提前。变量的初始化还在原来的位置。
使用函数声明语句的话,函数名称和函数体均提前。(函数声明语句中,函数名是一个变量名,指向函数体)
本文转载自柯乐义http://keleyi.com/a/bjad/cydygkca.htm
面试中遇到的题目: 题目一: var word = "hello world"; (function(){ alert(word); var word = "hello test"; })();
效果 http://keleyi.com/keleyi/phtml/js/1.htm
题目二: var word ="hello world"; (function(){ alert(world); function world(){ console.log("hello test"); } })()
效果 http://keleyi.com/keleyi/phtml/js/1b.htm
这两段代码会发生什么?console一下,你就知道。
局部变量的优先级大于全局变量。
js编译机制 js分为编译期和运行期,编译的过程中为var声明的变量和*function*分配内存,运行期顺序执行。
var 声明的变量,只有变量声明提前。变量的初始化还在原来的位置。
使用函数声明语句的话,函数名称和函数体均提前。(函数声明语句中,函数名是一个变量名,指向函数体)
本文转载自柯乐义http://keleyi.com/a/bjad/cydygkca.htm
相关文章推荐
- js单击事件及超链接触发失败原因之一(经验分享)
- 极客学院之javascript高级技巧
- javascript获取select标签选中的值
- js函数参数及闭包
- javascript(十三) DOM的增删查改
- javascript(十四) 自定义js对象
- javascript(十五) 错误处理技术
- fastjson解析
- javascript上通过YCombinator实现递归
- 捕获JS 错误日志
- ECMAScript6知识点2
- Javascript 键盘事件
- JavaScript动画基本原理
- jsp %EF%BB%BF
- echarts-all.js:1 Dom’s width & height should be ready before init.
- 把JSP转换成HTML生成静态页面
- JavaScript操作cookie
- JSP内置对象
- JZOJ4513. 【JSOI2016】独特的树叶
- Ajax跨域的解决方法之JSONP