function foo(){ var a=20 function bar(){ a=a*2; return a } return bar //返回一個內嵌函數 } var baz = foo() //函數在外面調用,能訪問的a變量, 函數運行在定義他們的作用域中 //bar定義在foo中,就能訪問foo定義的所有變量 console.log('111',baz) console.log('222',baz()) //40 console.log('222',baz()) //80 console.log('222',baz()) //160 var baz2 = foo() console.log('222',baz2()) //40
