2つのパラメータを持つ関数があり、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:基本的には、 2番目のパラメータは割り当てられておらず、割り当てられている場合はそのパラメータを使用します。 – Shaoz
2番目のパラメータはどこでも使用されていないようです... 'target = target ||あなたがそれにsomethignを割り当てているように見える( 'target = $(elem.attr( 'href')))')。私はあなたがしたいことをより良く説明する必要があると思います。あなたの上記のコメントでは、デフォルトの仕事は何か、それが割り当てられていればあなたはそれを使いたいと思っていることは明らかではありません... – Chris