javascript 閉包實現的5種方法
阿新 • • 發佈:2018-12-02
// 閉包函式 實現方法1 function test(r){ this.r=r } test.pi=3.14 test.prototype.area=function(){ return test.pi * this.r * this.r } // 閉包函式 實現方法2 var test2=function(){ var obj=new Object(); obj.pi=3.14; obj.area=function(r){ return this.pi*r*r; } return obj; } var i=new test2; console.log(i.area(8)) // 閉包函式實現方法3 var test3=new Object(); test3.pi=3.14; test3.area=function(r){ return this.pi*r*r; } console.log(test3.area(8)) //閉包函式實現方法4 var test4={ 'pi':3.14, 'area':function(r){ return this.pi*r*r; } }; console.log(test4.area(8)) //閉包函式實現方法5 var test5=new Function('this.pi=3.14;this.area=function(r){return this.pi*r*r}');var i=new test5(); console.log(i.area(9))