您的位置:首页 > Web前端 > JavaScript

【学习笔记】JavaScript编码规范-声明提升

2015-05-18 10:00 483 查看
变量声明应该在作用域的顶端,但是赋值没有。
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~~');
}
}


1:8 And God called the firmament Heaven.And the evening and the morning were the second day.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: