2013-03-08 74 views
0

我想知道集成一个函数的方式......我把4个方法放在下面。由于变量的范围和/或声明方式,其中一个更好吗?也许他们中的一些或全部是完全错误的?任何帮助表示赞赏。非常感谢!将函数放入对象的最佳方法是什么?

//method 1 
var derpHerp1 = function() { 
    var addMe1 = function (firstNum,secNum){ 
     var sum = firstNum + secNum; 
     return sum 
    } 
    return { 
     derp : 'derp', 
     herp : function(){ 
      alert('herp'); 
     }, 
     adding : addMe1(5,6) 
    } 
}(); 

//method 2 (2nd line & 3rd to the last changed) 
var derpHerp2 = function() { 
    var addMe2 = function addMe2(firstNum,secNum){ 
     var sum = firstNum + secNum; 
     return sum 
    } 
    return { 
     derp : 'derp', 
     herp : function(){ 
      alert('herp'); 
     }, 
     adding : addMe2(5,6) 
    } 
}(); 

//method 3 (2nd line & 3rd to the last changed) 
var derpHerp3 = function() { 
    function addMe3(firstNum,secNum){ 
     var sum = firstNum + secNum; 
     return sum 
    } 
    return { 
     derp : 'derp', 
     herp : function(){ 
      alert('herp'); 
     }, 
     adding : addMe3(5,6) 
    } 
}(); 

//method 4 
function addMe4 (firstNum,secNum){ 
      var sum = firstNum + secNum; 
      return sum 
} 

var derpHerp4 = function() { 
    return { 
     derp : 'derp', 
     herp : function(){ 
      alert('herp'); 
     }, 
     adding : addMe4(5,6) 
    } 
}(); 

回答

0

我只想做

function f1(a, b) { 
    ... 
} 

function f2() { 
    ... 
} 

obj = { 
    derp : 'derp', 
    herp : (f1), 
    adding : (f2)(5,6) 
} 
+0

为什么要这么做特别?有原因吗? (不是讽刺,真正感兴趣)。 – 2013-03-08 20:19:43

+0

让事情简单而整洁。 – darksky 2013-03-08 20:29:41

相关问题