在javaScript中,每一个函数被调用时,都会创建一个新的运行上下文.由于在一个函数里面定义的变量和函数仅仅能在里面訪问.在外面是不行的.上下文提供了一种非常easy的方法来创建私有性. //makeCounter函数返回另外一个匿名函数,这个匿名函数可以訪问到"私有"变量i, 好像有一点"特权"性. function makeCounter() { // i仅仅能在makeCounter的里面被訪问到 var i = 0; return function()
fnName(); function fnName(){ ... }//正常,因为‘提升’了函数声明,函数调用可在函数声明之前 fnName(); var fnName=function(){ ... }//报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后 var fnName=function(){ alert('Hello World'); }();//函数表达式后面加括号,当javascript引擎解析到此处时能立即调用函数 function