我有一個帶有2個參數的函數,無論是否在第二個參數被分配,它都應該有效。基本上,如果它被分配,然後做一些事情,如果不做其他事情,或者只是不打擾它。檢查參數是否分配在javascript
vf.showHide = function (trigger, target) {
var $trigger = $(trigger),
trigParent = $trigger.parent(),
trigDataView = $trigger.data('view'),
numShown = $trigger.data('showalways'),
basketSubtotalElem = $('.subtotal .monthlyCost span.price, .subtotal .oneOffCost span.price, .subtotal label h3, .vat *');
target = target || null; // This is the 2nd parameter but I don't know if this right...
trigParent.delegate(trigger, 'click', function (e) {
var elem = $(this);
target = $(elem.attr('href'));
e.preventDefault();
if (trigDataView === 'showhide') {
if($('.filterBlock')){
if (target.is(':visible')) {
target.hide();
elem.find('span').removeClass('minus').addClass('plus');
} else {
target.show();
elem.find('span').removeClass('plus').addClass('minus');
}
}
}
});
}
因此,如果被調用的函數是這樣的:vf.showHide('a', 'div')
它的作品,如果它被稱爲像這樣1個參數:vf.showHide('a')
它應該仍然工作,並引發錯誤。
非常感謝
你想要做什麼?如果目標未定義,你希望這個函數做什麼?「如果不做別的事情或者不打擾它,你的意思是什麼」 –
@ Keith.Abramo:基本上我想讓函數執行默認工作,如果第二個參數沒有被分配,如果被賦值,則使用該參數。 – Shaoz
第二個參數似乎沒有在任何地方使用......您可以在'target = target ||'行中使用它。 null;'但下次看來你正在爲它指定一些符號('target = $(elem.attr('href'));')。我認爲你需要更好地解釋你想做的事情。在上面的評論中,不清楚默認的工作是什麼,如果它指定了什麼,那麼你想要使用它... ... – Chris