2013-07-31 112 views
1

的功能提供多個參數,我想提供多個參數給JavaScript函數,以及關於傳入的參數也有清晰,所以具有此功能的清晰的在Javascript

var callMe = function (param1, param2, param3) { 
    console.log(param1 + ", " + param2 + ", " + param3) 
} 

我會調用該方法呼我()這樣的,銘記該參數初始化值是本身的價值:

callMe(param1 = 1, param2 = 2, param3 = 3) 

我的目標是提供多個參數時,以避免混亂有透明度。

上面的例子中是否有任何負面影響,或者可能是我只是試圖重新發明輪子?

+1

命名,因爲其名稱的匿名函數沒有意義不能被用於任何東西,可能會導致混亂的思維,你可以打電話的地方'呼我'當你真的不能。我想它提供了一個標籤,但是再次你應該爲你的功能命名,而不僅僅是一些毫無意義的字母等。 –

+0

我同意,修復功能 –

回答

2

如果你沒有用var提前聲明你的參數,你會引入像瘋狂的全局變量。我可以想象它會非常迅速地變得非常草率。而不是這樣做,請使用配置對象作爲參數。雖然它有它自己的缺點,但你實質上是在做同樣的事情,而不是像你說的那樣包裝參數,重新發明輪子。所以..

var f = function (config) { 
    console.log(config.param1 + ", " + config.param2 + ", " + config.param3); 
} 

f({ 
    param1: "Foo", 
    param2: "Bar", 
    param3: "Baz" 
}); 
+0

好,配置對象會有所幫助,謝謝。 –

-1

使用此:

var callMe = { 
       param1:1, 
       param2:2, 
       param3:3 
};