javascript中關(guān)于&& 和 || 表達(dá)式的小技巧分享
來源:易賢網(wǎng) 閱讀:923 次 日期:2015-04-13 14:03:19
溫馨提示:易賢網(wǎng)小編為您整理了“javascript中關(guān)于&& 和 || 表達(dá)式的小技巧分享”,方便廣大網(wǎng)友查閱!

如果你還是新手, 而且讀完所有這些技巧的詳解和每種技巧是如果工作的以后運(yùn)用它們, 你會(huì)寫出更加簡練高效的JavaScript程序.

確實(shí), JavaScript高手已經(jīng)運(yùn)用這些技巧寫出了很多強(qiáng)大, 高效的JavaScript程序. 但是你可以這樣.

強(qiáng)大的 && 和 || 表達(dá)式

你可能在JavaScript庫和JavaScript框架中已經(jīng)見過它們了, 那么我們先由幾個(gè)基本的例子開始:

例子1. || (或)

設(shè)置默認(rèn)值, 通常用

代碼如下:

function documentTitle(theTitle) {

if (!theTitle) {

theTitle = "Untitled Document";

}

}

用這代替:

代碼如下:

function documentTitle(theTitle) {

theTitle = theTitle || "Untitled Document";

}

解析:

首先, 閱讀以下的"提示"框復(fù)習(xí)JavaScript是如何判斷布爾值的

|| 操作符首先從左開始判斷表達(dá)式的真假, 如果為真, 馬上返回左邊表達(dá)式返回的值; 如果左邊表達(dá)式被判斷為假, 則繼續(xù)判斷右邊的表達(dá)式, 并返回右邊表達(dá)式的值

如果theTitle被判斷為假, 會(huì)返回右邊表達(dá)式的值. 換句話說, 如果theTitle變量被判斷為真, 則返回theTitle的值.

! 提示:

JavaScript判斷為假的值: null, false, 0, undefined, NaN 和 ""(空字符串).

記住像Infinity(無限大)這種 NaN 類的值是被判斷為真不是假. 然而, NaN被判斷為假.

除了以上這些, 其他值全部被判斷為真.

例子2. &&(并)

不要這么做:

function isAdult(age) {

if (age && age > 17) {

return true;

} else {

return false;

}

}

用這代替:

代碼如下:

function isAdult(age) {

return age && age > 17;

}

解析:

&& 操作符從左開始判斷表達(dá)式, 如果左邊的表達(dá)式被判斷為假, 這馬上返回false, 不管右邊的表達(dá)式是否為真.

如果左邊的表達(dá)式為真, 則繼續(xù)判斷右邊的表達(dá)式, 然后返回右邊表達(dá)式結(jié)果

這變得越來越有趣了

例子3.

不要這樣做:

if (userName) {

logIn(userName);

} else {

signUp();

}

用這代替:

復(fù)制代碼 代碼如下:

userName && logIn(userName) || signUp();

解析:

如果userName為真, 調(diào)用logIn函數(shù)并傳遞userName變量

如果userName為假, 調(diào)用logIn函數(shù)不傳遞任何變量

例子4.

不要這樣做:

var userID;

if (userName && userName.loggedIn) {

userID = userName.id;

} else {

userID = null;

}

用這代替:

代碼如下:

var userID = userName && userName.loggedIn && userName.id;

解析:

如果userName為真, 則調(diào)用user.loggedIn, 并檢查user.loggedIn是否為真; 如果返回真, 則返回第三個(gè)表達(dá)式的返回值

如果userName為空, 返回null

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:javascript中關(guān)于&& 和 || 表達(dá)式的小技巧分享
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)