标签:func 分享 image test 说明 作用 round bsp pre
变量提升(Hoisting)
一.块级作用域
块级作用域中声明的变量不会影响到外部作用域。
二.javascript中的块级作用域
1.javascript中的if...else..并不会创建新的作用域,
2.javascript是函数级作用域,只有函数才能创建新的作用域
var v=‘Hello World‘; (function(){ console.log(v);//undefined var v=‘I love you‘; console.log(v);//I love you })(); console.log(v);//Hello World
三.var声明的变量提升
var提升的层次比function提升的层次高
function myTest(){ foo(); var a = 1;//在调用foo之后声明 function foo(){ console.log("我来自 foo"); console.log(a); } } myTest();
此处的a为undefined,说明在foo调用之前就已经声明,可说明var提升的等级比function高
function myTest(){ var a = 1; foo(); function foo(){ //var a = 10 console.log("我来自 foo"); console.log(a); } console.log(a); } myTest();
console.log(a);//undefined var a = 1;
标签:func 分享 image test 说明 作用 round bsp pre
原文地址:http://www.cnblogs.com/krystalcl/p/6985700.html