且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

js深入研究之函数内的函数

更新时间:2022-09-08 16:45:49

第一种

js深入研究之函数内的函数
function foo() {
  var a = 10;
 
  function bar() {
    a *= 2;
  }
   
  bar(); 
  return a;
}
js深入研究之函数内的函数

 

第二种

js深入研究之函数内的函数
function foo() {
  var a = 10;
 
  function bar() {
    a *= 2;
    return a;
  }
   
  return bar;      
}
js深入研究之函数内的函数

 

两种效果相同。

调用结果

js深入研究之函数内的函数
var baz = foo(); // baz is now a reference to function bar.
alert(baz()); // returns 20.
alert(baz()); // returns 40.
alert(baz()); // returns 80.

var blat = foo(); // blat is another reference to bar.
alert(blat()); // returns 20, because a new copy of a is being used. 
js深入研究之函数内的函数

有意思。

js设计模式真的很有创意。


本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/5048930.html,如需转载请自行联系原作者