2017-05-20 29 views
2

我不知道什麼是寫下面的三元運營商最徹底的方法:三元運算符的jQuery的聲明如果

if (jQuery('#product-options-wrapper select').val() || jQuery('#product-options-wrapper input').val()) { 
    return true; 
} else { 
    return false; 
} 

回答

2

基本上你並不真的需要這裏的三元操作。

你可以使用:

jQuery('#product-options-wrapper select').val() || jQuery('#product-options-wrapper input').val() ? true : false 

這是完全一樣的:

jQuery('#product-options-wrapper select').val() || jQuery('#product-options-wrapper input').val() 

如果你想回到這一點,你可以使用:

return !!(jQuery('#product-options-wrapper select').val() || jQuery('#product-options-wrapper input').val()); 

注意!!我用於將該值轉換爲布爾值(true/false)

+0

所以它不*完全相同....我建議把'!!'已經在中間塊,使其上面的句子真正 – trincot

+0

如果你在調用者中使用'if',那麼代碼就可以工作,但是如果你使用'(如果a === true)'你是對的,它將不會工作,這就是爲什麼我添加了cast 。 – Dekel

-1

「if(jQuery('#product-options-wrapper select')。val()|| jQuery('#product-options-wrapper input').val())?返回true:return false;「 將做同樣的事情

+0

這是無效的語法。 – trincot

+0

return jQuery('#product-options-wrapper select')。val()|| jQuery('#product-options-wrapper input').val()?true:false; – user2200113

+0

請參閱我更新的代碼..... – Virushabadoss