今天從跟公司牛人那學到的~避免以后忘了趕快記錄下來
平時JS的function的返回值可以是一個數值,也可以是一個對象({name:abc,age:123}),更可以是一個函數(這里我是第一次聽說),從網上搜了搜,發現很多都是寫的像下面的代碼一樣:
1 (function(){ 2 var x=1; 3 return function(){ 4 x=x+1; 5 alert(x); 6 } 7 })();
看上去好像沒什么問題~但是根本不運行~坑爹呢~
后來問過別人才知道原來想要運行的話要加一個NEW:
1 (function(){ 2 var x=1; 3 return new function(){ 4 x=x+1; 5 alert(x); 6 } 7 })();
在返回的函數前加一個new,說是當成一個類來運行就可以了~具體的意思我明白了~但是不知道該怎么表達~有大牛的話希望能給出解釋~