摘要:因?yàn)榧臃ǖ膬?yōu)先級(jí)比條件運(yùn)算符高,所以先運(yùn)算加號(hào),是字符串拼接,結(jié)果是非空字符串,在中字符串的布爾類型為。知識(shí)點(diǎn)三目運(yùn)算為真執(zhí)行為假執(zhí)行運(yùn)算優(yōu)先級(jí)在中布爾類型只有以下種情況為假,其他都為真。
一、測(cè)試題 原題:以下代碼的輸出是?
var val = "false"; alert("val is " + val ? "true" : "false");解析:
1. 此題考察的知識(shí)點(diǎn): 三目運(yùn)算、**運(yùn)算優(yōu)先級(jí)**,字符串拼接。 2. 因?yàn)?加法(+) 的優(yōu)先級(jí)比 條件運(yùn)算符(?) 高,所以先運(yùn)算加號(hào)("val is " + val), 3. "val is " + val 是字符串拼接,結(jié)果是**非空**字符串,在js中字符串的布爾類型為true。 4. 所以 彈出 字符串 “true”。知識(shí)點(diǎn)
三目運(yùn)算: condition ? expr1 : expr2
condition為真 執(zhí)行 expr1 ;condition為假執(zhí)行 expr2
運(yùn)算優(yōu)先級(jí)
在js中布爾類型只有以下6種情況為假,其他都為真。
false, 0, undefined, NaN, "", null
""+10
數(shù)字10前面拼接空字符串,改變數(shù)據(jù)類型,把 number 轉(zhuǎn)換為 string
var val = false; alert( "" + val ? "true" : "false"); /* * 解析: * 1. val是布爾類型false,在前面拼接空字符串,轉(zhuǎn)換為字符串類型, * 2. "" + val 結(jié)果是**非空**字符串, * 3. 結(jié)果彈出 字符串 “true”。 */思考二:代碼修改為 以下代碼的輸出是
var val = "false"; alert( val ? "true" : "false"); /* * 解析: * val 是字符串"false" 由上知識(shí)點(diǎn) * 顯而易見 彈出 字符串 “true”。 * */
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84719.html
摘要:中一個(gè)運(yùn)算符優(yōu)先級(jí)問題引發(fā)的思考題目假設(shè)已經(jīng)聲明可定義為任何值。分析因?yàn)槲覀兒雎粤诉\(yùn)算符的優(yōu)先級(jí)。要知道,加號(hào)優(yōu)先級(jí)高于三目運(yùn)算,低于括號(hào)。為值,在里的判斷就是值。 JavaScript中一個(gè)運(yùn)算符優(yōu)先級(jí)問題引發(fā)的思考 題目 假設(shè) val 已經(jīng)聲明,可定義為任何值。則下面js代碼有可能輸出的結(jié)果為: console.log(Value is + (val != 0) ? define...
摘要:直接開始題目是厲害了說句實(shí)話開發(fā)中誰寫成這樣保證會(huì)被打死。不過面試就是面試,有面試官的考量點(diǎn)。官方是這么說的。結(jié)果完美,不過小姐姐的意思是數(shù)組的方法會(huì)自動(dòng)觸發(fā)數(shù)組的。 直接開始題目是 if(a==1 && a==2 && a==3){ alert(厲害了) } 說句實(shí)話開發(fā)中誰寫成這樣保證會(huì)被打死。 不過面試就是面試,有面試官的考量點(diǎn)。 我理解的點(diǎn)有兩個(gè) 1、隱式類型轉(zhuǎn)換 先說...
摘要:首先,我先去上搜索了的定義運(yùn)算符創(chuàng)建一個(gè)用戶定義的對(duì)象類型的實(shí)例或具有構(gòu)造函數(shù)的內(nèi)置對(duì)象的實(shí)例。 今天看到一道面試題,如下,問: 實(shí)例化 Person 過程中,Person返回什么(或者 p 等于什么)? function Person(name) { this.name = name return name; } let p = new Person(Tom); 說實(shí)...
摘要:也給當(dāng)初出入迷宮的我不小考驗(yàn),一道題目可以引發(fā)許多思考,今天寫下的只是今時(shí)今日的想法,到未來也許還有別樣的看法。對(duì)于回調(diào)函數(shù),可以對(duì)其傳入三個(gè)參數(shù)分別是當(dāng)前元素,元素索引,調(diào)用的數(shù)組。 [1,2,3].map(parseInt) 這道JS題目,相信大家并不會(huì)陌生。也給當(dāng)初出入JS迷宮的我不小考驗(yàn),一道題目可以引發(fā)許多思考,今天寫下的只是今時(shí)今日的想法,到未來也許還有別樣的看法。...
摘要:如果你要問他和誰當(dāng)進(jìn)去的快,要從下面兩個(gè)方面考慮結(jié)束時(shí)。至于什么,查了很多的資料,了解到一個(gè)瀏覽器環(huán)境只能有一個(gè)事件循環(huán),而一個(gè)事件循環(huán)可以有多個(gè)任務(wù)隊(duì)列。 ====據(jù)說這是今日頭條去年的一道筆試題,主要考察的是setTimeout async promise執(zhí)行順序 ~先雙手奉上這道題目~ async function async1() { consol...
閱讀 3553·2019-08-30 12:58
閱讀 932·2019-08-29 16:37
閱讀 2807·2019-08-29 16:29
閱讀 3111·2019-08-26 12:18
閱讀 2376·2019-08-26 11:59
閱讀 3419·2019-08-23 18:27
閱讀 2794·2019-08-23 16:43
閱讀 3308·2019-08-23 15:23