首頁 web前端 js教程 javascript中關於&& 和 || 表達式的小技巧分享_javascript技巧

javascript中關於&& 和 || 表達式的小技巧分享_javascript技巧

May 16, 2016 pm 04:05 PM

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

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

強大的 && 和 || 表達式
你可能在JavaScript庫和JavaScript框架中已經見過它們了, 那麼我們先由幾個基本的例子開始:

範例1. || (或)
設定預設值, 通常用

複製程式碼 程式碼如下:

function documentTitle(theTitle) {
  if (!theTitle) {
 theTitle = "Untitled Document";
  }
}

用這代替:

複製程式碼 程式碼如下:

function documentTitle(theTitle) {
  theTitle = theTitle || 「Untitled Document";
}

解析:

首先, 閱讀以下的"提示"框複習JavaScript是如何判斷布林值的
|| 運算子首先從左開始判斷表達式的真假, 如果為真, 馬上返回左邊表達式返回的值; 如果左邊表達式被判斷為假, 則繼續判斷右邊的表達式, 並返回右邊表達式的值
如果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, 不管右邊的表達式是否為真.
如果左邊的表達式為真, 則繼續判斷右邊的表達式, 然後回傳右邊表達式結果
這變得越來越有趣了

範例3.

不要這樣做:

if (userName) {
 logIn(userName);
} else {
 signUp();
}
登入後複製

用這代替:

複製程式碼 程式碼如下:

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

解析:

如果userName為真, 呼叫logIn函數並傳遞userName變數
如果userName為假, 呼叫logIn函數不傳遞任何變數

範例4.
不要這樣做:

var userID;

if (userName && userName.loggedIn) {
 userID = userName.id;
} else {
 userID = null;
}

登入後複製

用這代替:

複製程式碼 程式碼如下:

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

解析:

如果userName為真, 則呼叫user.loggedIn, 並檢查user.loggedIn是否為真; 如果傳回真, 則傳回第三個表達式的回傳值
如果userName為空, 回傳null

以上所述就是本文給大家分享的第一個javascript小技巧了,希望大家能夠喜歡。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在JavaScript中替換字符串字符 在JavaScript中替換字符串字符 Mar 11, 2025 am 12:07 AM

在JavaScript中替換字符串字符

自定義Google搜索API設置教程 自定義Google搜索API設置教程 Mar 04, 2025 am 01:06 AM

自定義Google搜索API設置教程

示例顏色json文件 示例顏色json文件 Mar 03, 2025 am 12:35 AM

示例顏色json文件

構建您自己的Ajax Web應用程序 構建您自己的Ajax Web應用程序 Mar 09, 2025 am 12:11 AM

構建您自己的Ajax Web應用程序

8令人驚嘆的jQuery頁面佈局插件 8令人驚嘆的jQuery頁面佈局插件 Mar 06, 2025 am 12:48 AM

8令人驚嘆的jQuery頁面佈局插件

什麼是這個'在JavaScript? 什麼是這個'在JavaScript? Mar 04, 2025 am 01:15 AM

什麼是這個'在JavaScript?

通過來源查看器提高您的jQuery知識 通過來源查看器提高您的jQuery知識 Mar 05, 2025 am 12:54 AM

通過來源查看器提高您的jQuery知識

10張移動秘籍用於移動開發 10張移動秘籍用於移動開發 Mar 05, 2025 am 12:43 AM

10張移動秘籍用於移動開發

See all articles