2016-11-09 35 views
-1

您好我有疑問,如何在jQuery的如何創建具有參數

我這裏有一個困難的情況下創建自定義功能,

var value1= []; 
var value2= []; 
var value3= []; 


function functionName(first,second,three,four = []) { 
} 

$(".btn").click(function(e) { 
    // 1 st way 
    functionName(value1,value2,value3); 
    // 2nd way 
    functionName(value1,value2,value3,value4); 

}); 

我可以使用這樣JQuery的自定義函數? 我的意思是我的函數'functionName'有4個參數,但有些情況下它只有3個參數,所以在這種情況下,我希望最後一個參數應該考慮爲空。

所以我可以在JQuery中使用這樣的東西?
我正在使用Codeception測試用例,但如果我使用四個= []它會失敗。

+0

我做沒有看到jQuery與此有什麼關係。但是,是的,創建一個接受可變數量參數的函數當然是可能的。 –

+0

我只是確認@kevin –

+0

另一種方法是使用參數對象。換句話說,創建沒有參數的函數,然後在函數內部使用類似於(var I = 0; I

回答

0

是的,你可以做到這一點。這是很多工作要做,JavaScript的,而不是jQuery的

檢查這個片段

function multiply(a, b = 1) { 
 
    return a*b; 
 
} 
 

 
console.log(multiply(5)); 
 
console.log(multiply(5,8));

希望這有助於

+1

儘管如此,'b = 1'部分[在所有瀏覽器中都不起作用。]( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters) –

+0

@ greeky其可能..謝謝...然後這可能是與Codeception測試庫問題..我會檢查他們 –

+0

感謝您指出 – Geeky

1

您可以使用arguments對象,所以你可以有不同數量的論據

function foo() { 
    for (var i = 0; i < arguments.length; i++) { 
     alert(arguments[i]); 
    } 
} 
相關問題