前言:
相信我們程序員平時寫代碼用的最多的邏輯就是if語句了吧,可你知道他的原理是什么嗎,其實這跟Boolean()這個方法有關,此方法為自動執行(在需要判定Boolean的語句中中自動執行),這些轉換規則對理解if控制語句自動執行相應的Boolean轉換非常重要,
這是我們平時所寫的代碼
var a = "auto" if(a){ console.log("執行") }
其實執行起來是這樣,理解一下
var a = "auto" if(Boolean(a)){ console.log("執行") }
這樣其實就好理解了,每個類型的值其實都可以轉換為Boolean值,有一定的規則,接下來我們看看具體操作
取證將需要轉換的數據傳遞給Boolean()函數
Boolean: 毋庸置疑true就是true,false就是false,但是new Boolean這里有坑
var boolean1 = true; // true; var boolean2 = false; // false; console.log(Boolean(boolean1)); console.log(Boolean(boolean2));
// 這里坑來了 Boolean()是返回布爾值,new Boolean()是返回布爾對象(對象里面的值為false,)
var x = Boolean(false); if (x) { // 這里的代碼不會被執行 } var x = new Boolean(false); if (x) { // 這里的代碼會被執行 }
注意不要將基本類型中的布爾值 true 和 false 與值為 true 和 false 的 Boolean 對象弄混了。不要在應該使用基本類型布爾值的地方使用 Boolean 對象。
var x = Boolean(expression); // 推薦(Boolean值) var x = new Boolean(expression); // 不推薦,Boolean對象里的值不管是true還是false,只要對象有值都會判定為true,if語句中都會執行、
String: 只要不是空字符串(沒有任何內容),任何非空字符串(包含空格) 都會轉換為true
var str1 = ""; // "" --> false var str2 = " "; // " " --> true; var str3 = "abc"; // " " --> true; console.log(Boolean(str1)); console.log(Boolean(str2)); console.log(Boolean(str3));
Number: 只有0和NaN會轉換為false,其他都會轉換為true
var num1 = 0; //false var num2 = -1; //true var num3 = 1; //true var num4 = NaN; //false console.log(Boolean(num1)); console.log(Boolean(num2)); console.log(Boolean(num3));
null、undefined: 都會轉換為false
var n = null; //false var u = undefined; //false console.log(Boolean(n)); console.log(Boolean(u));總結:
false / "" / NaN / 0 / null / undefined 都會轉換為 false
注意 Boolean() 和 new Boolean()的區別參考:
前者生成布爾值,后者生成布爾對象,后者不推薦使用
大部分取經于js高程紅寶書26頁,3.4.4章節(Boolean類型的介紹)
new Boolean()的坑取經于MDN中Boolean的描述
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103719.html
摘要:如圖意義位用來表示符號位位用來表示指數位表示尾數浮點數,比如無限循環無限循環此時只能模仿十進制進行四舍五入了,但是二進制只有和兩個,于是變為舍入。這即是計算機中部分浮點數運算時出現誤差,丟失精度的根本原因。 showImg(http://ww1.sinaimg.cn/large/9c47d583gy1fmtw1ma9g4j21hc0u0ach.jpg); 前言 最近一直有小伙伴跟我說J...
摘要:一彈窗和輸出執行順序是從上到下執行控制瀏覽器彈出一個警告框讓計算機在頁面中輸出一個內容在中寫一個內容寫可以向中輸出一個內容看我出不出來向控制臺輸出一個內容作用是向控制臺輸出一個內容你猜我在哪出來二編寫位置可以將代碼編寫到外部文件中,然后通過 一.彈窗和輸出 **javascript執行順序是從上到下執行** 1.控制瀏覽器彈出一個警告框 alert(HelloWord); 2.讓計...
摘要:基本數據類型在中,基本數據類型有種,即數值字符串布爾值。兩個布爾值轉為數值進行比較。對于對象和布爾值,調用它們的方法得到對應的字符串值,然后進行字符串相加。減法對于字符串布爾值或者,自動調用,轉換結果若為,那么最終結果為。 這篇文章,來聊聊 JS 中的數據類型與變量。這是在學習 JS 時最基礎的一類問題,但卻很重要。希望我的分享有幫助到你。 文章開頭,我先提幾個面試中遇到的問題: 比如...
摘要:目錄語句變量小結基本語法一是核心知識點的基本語法的第一部分,主要介紹了語句表達式變量和數據類型不包括函數類型的基本知識點,函數類型將在下一章函數二中詳細探討語句程序的執行是由一條條語句組成的每一條語句是為完成特定任務而執行的操作語句當中可以 目錄 1. 語句 2. 變量 3. 小結 JavaScript基本語法(一)是JavaScript核心知識點(ECMAScript)的基本語法的...
閱讀 1211·2023-04-25 20:31
閱讀 3718·2021-10-14 09:42
閱讀 1485·2021-09-22 16:06
閱讀 2636·2021-09-10 10:50
閱讀 3524·2021-09-07 10:19
閱讀 1772·2019-08-30 15:53
閱讀 1170·2019-08-29 15:13
閱讀 2818·2019-08-29 13:20