JavaScript复习笔记(2)——作用域、函数

为了准备笔试面试,重新开始系统的学习JavaScript,一边学习一边顺便给师弟师妹开个小灶,这是给他们准备的一道练习题,最后控制台会输出什么?

var a=(0,1);
function ScopeTest(){
    var b=(c=2,3);
    console.log(a);
}
if(0==false){//判断成功
    ScopeTest();//输出1
}
if(1===false){//判断失败
    ScopeTest();
}
(function(){
    console.log(a);//输出1
    console.log(c);//2
    console.log(a+""+c);//12
    console.log(a+[]);//1
    console.log(b);//Uncaught ReferenceError: b is not defined 
})();

全局变量:a、c

局部变量:b

普通函数只定义,调用时才会执行

匿名函数直接执行,匿名函数的特征是1.没有函数名,2.加了各种奇怪的符号使得他不再是函数而是一个表达式,所以加()也是同理。

变量的作用域会自动向下延伸。函数中定义的变量,即可在函数内部使用,也可以在定义于此函数内的其他函数中使用(闭包

 

posted @ 2014-09-04 16:13  苜冉冉  阅读(116)  评论(0编辑  收藏  举报