關于很基礎的&&和||

今天有人問了我一個這樣的問題檀夹,javascript中张肾,“hello”&&88的結果是什么呢速勇?當時就給我問懵了前痘,趕緊上網(wǎng)搜了一下但是沒有有效的回答凛捏,也算是屬于最后兩個人討論慢慢想清楚的了。

要解決這個問題我們需要先明白這幾點

  • &&運算符表示并且芹缔,意思是坯癣,當a&&b時,只有當a和b都為true的時候最欠,最后的運算結果才是true示罗;相反,a和b中任何一個為false芝硬,結果就是false蚜点。
  • ||運算符表示或者,意思是拌阴,當a||b時绍绘,只有當a和b都為false的時候,最后的運算結果才是false迟赃;只要a和b中任何一個為true陪拘,結果就是true。
  • 短路求值(short-circuit evaluations)纤壁,意思是左刽,當計算a&&b時,如果a的值為false的話酌媒,則不進行b的計算了欠痴,直接輸出a&&b的值為false,因為不論b的值為什么馍佑,結果都為false斋否;當計算a||b時,如果a的值為true的話拭荤,則不進行b的計算了茵臭,直接輸出計算結果為false,因為b的值為什么已經(jīng)對結果構不成影響了舅世。
  • 0轉換為false旦委,其他數(shù)字均轉換為true奇徒;空字符串‘'轉換為 false,除此外的一切字符串轉換為 true缨硝;null摩钙、NaN、undefined均轉換為false

結合一些例子

其實到這里大家應該已經(jīng)大概懂了查辩。

console.log("hello" && 88); //88
console.log(88 && "hello"); //hello胖笛。

因為“hello”會被轉化成true,第一個參數(shù)為true宜岛,則會去計算第二個參數(shù)长踊,所以結果為88。88也表示的true萍倡,所以也會去計算第二個參數(shù)身弊。

console.log("hello" && 0); //0
console.log(0 && "hello"); //0

第一個結果為0也屬于情理之中,因為第一個參數(shù)為true列敲,所以會去計算第二個參數(shù)阱佛,最后結果為0也就相當于結果為false啊。第二個結果為0是因為第一個參數(shù)就是0戴而,即false凑术,根據(jù)短路原理,不會再計算第二個參數(shù)了所意,所以結果也為0麦萤。

console.log("hello" || 0); //hello
console.log(0 || "hello"); //hello

第一個結果為hello是根據(jù)短路原理,在進行||運算時扁眯,第一個參數(shù)為true時就會返回結果不會再繼續(xù)進行計算壮莹。第二個結果為hello是因為第一個參數(shù)為0即false,會繼續(xù)計算第二個參數(shù)姻檀,則結果為hello命满,即為true。

console.log(null && undefined); //null
console.log(undefined && null); //undefined
console.log(null || undefined); //undefined
console.log(undefined || null); //null

這幾個例子給大家自己體會~

最后附上一個我覺得挺有用的資料:http://www.grauw.nl/blog/entry/510

如果發(fā)現(xiàn)問題绣版,歡迎批評指正~

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胶台,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子杂抽,更是在濱河造成了極大的恐慌诈唬,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缩麸,死亡現(xiàn)場離奇詭異铸磅,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門阅仔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吹散,“玉大人,你說我怎么就攤上這事八酒】彰瘢” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵羞迷,是天一觀的道長界轩。 經(jīng)常有香客問我,道長衔瓮,這世上最難降的妖魔是什么耸棒? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮报辱,結果婚禮上,老公的妹妹穿的比我還像新娘单山。我一直安慰自己碍现,他們只是感情好,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布米奸。 她就那樣靜靜地躺著昼接,像睡著了一般。 火紅的嫁衣襯著肌膚如雪悴晰。 梳的紋絲不亂的頭發(fā)上慢睡,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機與錄音铡溪,去河邊找鬼漂辐。 笑死,一個胖子當著我的面吹牛棕硫,可吹牛的內(nèi)容都是我干的髓涯。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼哈扮,長吁一口氣:“原來是場噩夢啊……” “哼纬纪!你這毒婦竟也來了?” 一聲冷哼從身側響起滑肉,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤包各,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后靶庙,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體问畅,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了按声。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膳犹。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖签则,靈堂內(nèi)的尸體忽然破棺而出须床,到底是詐尸還是另有隱情,我是刑警寧澤渐裂,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布豺旬,位于F島的核電站,受9級特大地震影響柒凉,放射性物質發(fā)生泄漏族阅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一膝捞、第九天 我趴在偏房一處隱蔽的房頂上張望坦刀。 院中可真熱鬧,春花似錦蔬咬、人聲如沸鲤遥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盖奈。三九已至,卻和暖如春狐援,著一層夾襖步出監(jiān)牢的瞬間钢坦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工啥酱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留爹凹,地道東北人。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓镶殷,卻偏偏與公主長得像逛万,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子批钠,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)宇植,也就是一...
    悟名先生閱讀 4,132評論 0 13
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)埋心,斷路器指郁,智...
    卡卡羅2017閱讀 134,633評論 18 139
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 6,367評論 0 17
  • 自己動手豐衣足食拷呆。沒有老人沒有阿姨難道真的要餓死哀家嗎闲坎?曾經(jīng)以為的s法中有一種的確是餓s疫粥,那天午餐后閨蜜為了拯救我...
    茍且趁年華閱讀 492評論 2 6
  • shape可以定義一個View空間的,圓角腰懂,邊框梗逮,padding,大小绣溜,填充顏色慷彤,漸變顏色。 shape定義 1 ...
    shenlong77閱讀 821評論 0 1