你不懂的js上卷(二)

2018-04-26  本文已影响0人  想回到童年

变量提升

1.先声明 后赋值
2.函数声明会被提升,函数表达式却不会
3.函数声明会提升到普通变量之前

源码
foo();
newfoo();//TypeError  
bar();//ReferenceError
function foo() {}
var newfoo = function bar() {}
js引擎执行顺序
foo();
var newfoo
function foo(){}
newfoo=function(){
var bar
}

4 var a = 2 js引擎先编译(声明变量或函数)在执行(变量赋值)
不要将var声明和函数声明混在一起

作用域闭包

上一篇下一篇

猜你喜欢

热点阅读