国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

一道三目運算測試題引發的思考

SHERlocked93 / 3038人閱讀

摘要:因為加法的優先級比條件運算符高,所以先運算加號,是字符串拼接,結果是非空字符串,在中字符串的布爾類型為。知識點三目運算為真執行為假執行運算優先級在中布爾類型只有以下種情況為假,其他都為真。

一、測試題 原題:以下代碼的輸出是?
var val = "false";
alert("val is " + val ? "true" : "false");
解析:
1. 此題考察的知識點: 三目運算、**運算優先級**,字符串拼接。
2. 因為 加法(+) 的優先級比 條件運算符(?) 高,所以先運算加號("val is " + val),
3. "val is " + val 是字符串拼接,結果是**非空**字符串,在js中字符串的布爾類型為true。 
4. 所以 彈出 字符串 “true”。
知識點

三目運算: condition ? expr1 : expr2
condition為真 執行 expr1 ;condition為假執行 expr2

運算優先級

在js中布爾類型只有以下6種情況為假,其他都為真。
false, 0, undefined, NaN, "", null

""+10
數字10前面拼接空字符串,改變數據類型,把 number 轉換為 string

二、思考 思考一:代碼修改為 以下代碼的輸出是
var val = false;
alert( "" + val ? "true" : "false");

/*
* 解析:
* 1. val是布爾類型false,在前面拼接空字符串,轉換為字符串類型,
* 2. "" + val 結果是**非空**字符串,
* 3. 結果彈出 字符串 “true”。
*/
思考二:代碼修改為 以下代碼的輸出是
var val = "false";
alert( val ? "true" : "false");

/*
* 解析:
* val 是字符串"false" 由上知識點
* 顯而易見 彈出 字符串 “true”。
*
*/

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/84719.html

相關文章

  • JavaScript中一個運算符優先級問題引發思考

    摘要:中一個運算符優先級問題引發的思考題目假設已經聲明可定義為任何值。分析因為我們忽略了運算符的優先級。要知道,加號優先級高于三目運算,低于括號。為值,在里的判斷就是值。 JavaScript中一個運算符優先級問題引發的思考 題目 假設 val 已經聲明,可定義為任何值。則下面js代碼有可能輸出的結果為: console.log(Value is + (val != 0) ? define...

    zengdongbao 評論0 收藏0
  • 一道前端面試題引發思考

    摘要:直接開始題目是厲害了說句實話開發中誰寫成這樣保證會被打死。不過面試就是面試,有面試官的考量點。官方是這么說的。結果完美,不過小姐姐的意思是數組的方法會自動觸發數組的。 直接開始題目是 if(a==1 && a==2 && a==3){ alert(厲害了) } 說句實話開發中誰寫成這樣保證會被打死。 不過面試就是面試,有面試官的考量點。 我理解的點有兩個 1、隱式類型轉換 先說...

    gaomysion 評論0 收藏0
  • 一道試題引發思考 --- 理解 new 運算

    摘要:首先,我先去上搜索了的定義運算符創建一個用戶定義的對象類型的實例或具有構造函數的內置對象的實例。 今天看到一道面試題,如下,問: 實例化 Person 過程中,Person返回什么(或者 p 等于什么)? function Person(name) { this.name = name return name; } let p = new Person(Tom); 說實...

    shengguo 評論0 收藏0
  • 一道JS試題引發思考

    摘要:也給當初出入迷宮的我不小考驗,一道題目可以引發許多思考,今天寫下的只是今時今日的想法,到未來也許還有別樣的看法。對于回調函數,可以對其傳入三個參數分別是當前元素,元素索引,調用的數組。 [1,2,3].map(parseInt) 這道JS題目,相信大家并不會陌生。也給當初出入JS迷宮的我不小考驗,一道題目可以引發許多思考,今天寫下的只是今時今日的想法,到未來也許還有別樣的看法。...

    xiao7cn 評論0 收藏0
  • 一道setTimeout async promise執行順序試題引發思考

    摘要:如果你要問他和誰當進去的快,要從下面兩個方面考慮結束時。至于什么,查了很多的資料,了解到一個瀏覽器環境只能有一個事件循環,而一個事件循環可以有多個任務隊列。 ====據說這是今日頭條去年的一道筆試題,主要考察的是setTimeout async promise執行順序 ~先雙手奉上這道題目~ async function async1() { consol...

    soasme 評論0 收藏0

發表評論

0條評論

SHERlocked93

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<