标签:javascript
变量声明应该在作用域的顶端,但是赋值没有。function example(){
var declaredButAssigned;
//如下输出 declaredButNotAssigned 未定义
console.log(declaredButNotAssigned)
declaredButNotAssigned = true
}
匿名表达式能提升他们的变量名,但不能提升函数赋值。
function example(){
console.log(anonymous); //未定义
anonymous();//类型错误
var anonymous = function(){
console.log('anonymous function expression');
}
}function example(){
console.log(AAA);// undefined
AAA();//TypeError AAA is not a function
BBB();//ReferenceError BBB is not define
var AAA = function BBB(){console.log('Hi~~')};
}//当变量名同函数名称一样
function example2(){
console.log(AAA);// undefined
AAA();//TypeError
var AAA = function named(){console.log('Hello');};
}function example(){
AAA();
function AAA(){
console.log('Hi~~');
}
}标签:javascript
原文地址:http://blog.csdn.net/princeterence/article/details/45815369