您的位置:首页 - Javascript
javascript作用域题目和解析
再谈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 声明的变量,只有变量声明提前。变量的初始化还在原来的位置。

使用函数声明语句的话,函数名称和函数体均提前。(函数声明语句中,函数名是一个变量名,指向函数体)
本站导航
相关文章
柯乐义 Copyright© keleyi.com