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

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

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

強大的 && 和 || 表達式

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

例子1. || (或)

設置默認值, 通常用

代碼如下:

function documentTitle(theTitle) {

if (!theTitle) {

theTitle = "Untitled Document";

}

}

用這代替:

代碼如下:

function documentTitle(theTitle) {

theTitle = theTitle || "Untitled Document";

}

解析:

首先, 閱讀以下的"提示"框復習JavaScript是如何判斷布爾值的

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

如果theTitle被判斷為假, 會返回右邊表達式的值. 換句話說, 如果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;

}

解析:

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

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

這變得越來越有趣了

例子3.

不要這樣做:

if (userName) {

logIn(userName);

} else {

signUp();

}

用這代替:

復制代碼 代碼如下:

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是否為真; 如果返回真, 則返回第三個表達式的返回值

如果userName為空, 返回null

更多信息請查看IT技術專欄

更多信息請查看腳本欄目
易賢網(wǎng)手機網(wǎng)站地址:javascript中關于&& 和 || 表達式的小技巧分享

2025國考·省考課程試聽報名

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