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