摘要:如果兩個值可能不是同一數(shù)據(jù)類型,如果是比較的話,會默認進行數(shù)據(jù)轉換。轉換成字符串轉換成字符串先將對象轉換成字符串,再把字符串轉換成數(shù)字布爾值轉換成數(shù)字轉換成換成成然后讓兩個數(shù)字進行比較。三個等號還會比較數(shù)據(jù)類型。
javascript數(shù)據(jù)類型轉換
在面試中經常會碰見問類型轉換的問題,例如[] == false、[] == {}返回的是真還是假等等。。。
默認是false的五個值null undefined NaN 0 ""
記住只有這五個值是假的剩下的全部是真的。
轉換規(guī)則如果是一個值判斷是否是真假,除了默認是false的五個值剩下的全部是true。
如果是兩個值比較是否相等,遵循如下規(guī)則。
val1 == val2 如果兩個值可能不是同一數(shù)據(jù)類型,如果是==比較的話,會默認進行數(shù)據(jù)轉換。
2.1 object == object,比較永遠不相等。
2.2 object == string 先將對象轉換成字符串(調用toString方法),然后再比較。
[] 轉換成字符串 "" {} 轉換成字符串 "[object Object]"
2.3 object == boolean 先將對象轉換成字符串(toString),再把字符串轉換成數(shù)字(Number)、布爾值轉換成數(shù)字(true 轉換成 1 false 換成成 0)然后讓兩個數(shù)字進行比較。
Number("") 會輸出 0
2.4 object == number
先將對象轉換成字符串(toString),再把字符串轉換成數(shù)字(Number),再進行比較。
2.5 number == boolean 布爾值轉換成數(shù)字,然后再比較。
2.6 number == string 字符串轉換成數(shù)字,然后再比較。
2.7 string == boolean 都轉換成數(shù)字,,然后再比較。
2.8 null == undefined 結果是true。
2.9 null 或者 undefined 比較另外的所有值,結果都是false,不相等。
例如:
[] == false 返回 true 2.3規(guī)則。 [] == [] 返回 false 2.1規(guī)則。 2 == true 返回 false 2.5規(guī)則。
=== 三個等號還會比較數(shù)據(jù)類型。
這些規(guī)則背下來,就能完美的應付這樣的面試題了,加油!
我的博客和GitHub地址https://github.com/lanpangzhi
http://blog.langpz.com
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/103464.html
摘要:原始類型分別有類型類型和類型三種。類型中存在一個特殊的值叫。也可以把其他類型的數(shù)據(jù)自動轉換為類型運算符運算符判斷原始類型語法結構變量名稱。 數(shù)據(jù)類型 1.數(shù)據(jù)類型的概述;在JavaScript代碼中,能夠表示并且操作值的類型就叫做數(shù)據(jù)類型數(shù)據(jù)類型可以分成可變類型和不可變類型,可變類型的值是可以修改的。相反不可變類型的值是不可以修改的。數(shù)據(jù)類型還有原始類型(原始值)與引用類型(內置對象)...
摘要:以和為例,說明中的數(shù)字數(shù)據(jù)如何轉換為二進制數(shù)據(jù)。對象用來表示通用的固定長度的原始二進制數(shù)據(jù)緩沖區(qū)。中的數(shù)字數(shù)據(jù)如何轉換為二進制數(shù)據(jù)對和有了一個大概的了解,下面讓我們來看下它是如何進行二進制數(shù)據(jù)操作的。 概述 本文主要通過對JavaScript中數(shù)字數(shù)據(jù)與二進制數(shù)據(jù)之間的轉換,讓讀者能夠了解在JavaScript中如何對數(shù)字類型(包括但不限于Number類型)進行處理。 二進制數(shù)據(jù)在日常...
摘要:在編程語言中,能夠表示并操作的值的類型稱做數(shù)據(jù)類型。中的原始類型包括數(shù)字,字符串和布爾值。日期與時間語言核心包括構造函數(shù),用來創(chuàng)建表示日期和時間的對象。其規(guī)則為如果是布爾值,和分別被轉換為和如果是數(shù)字值,返回本身。 源代碼: https://github.com/RobinQu/Programing-In-Javascript/blob/master/chapters/Javas...
摘要:下面先看看涉及到的幾個函數(shù)以及他們的轉換規(guī)則,這個是需要記憶的內容類型轉換需要使用到的函數(shù)對于布爾值用到的是對于數(shù)值,用到的是當然還有但是對于隱式類型轉換的時候,調用的是前者。 javaScript類型轉換規(guī)則 javaScript的類型轉換其實一直是很多前端開發(fā)人員很迷的地方,一會兒這里要轉換,一會兒那里又要轉換,總之就是一個大寫的迷,因為它隱式類型轉換的地方實在是太多了。 但其實...
摘要:數(shù)據(jù)類型轉換原文鏈接是一種弱類型語言,即不需要明確聲明變量的類型,可以隨時賦予任意類型的值。強制轉換顯式轉換強制轉換主要指使用和三個構造函數(shù),手動將各種類型的值,轉換成數(shù)字字符串或者布爾值。如果該值不能完全轉換為整型或浮點型,則返回。 JavaScript 數(shù)據(jù)類型轉換 原文鏈接 JavaScript 是一種弱類型語言,即不需要明確聲明變量的類型,可以隨時賦予任意類型的值。 強制轉換...
摘要:總結通過使用和,我們能夠在數(shù)據(jù)和二進制數(shù)據(jù)中進行互相轉換。下一篇系列相關的博客,將會介紹如何通過來向后端傳遞二進制數(shù)據(jù),以及如何處理通過收到的二進制數(shù)據(jù)。 概述 上一篇博客我們說到了如何進行數(shù)字類型(如Short、Int、Long類型)如何在JavaScript中進行二進制轉換,如果感興趣的可以可以閱讀本系列第二篇博客——WebSocket系列之JavaScript中數(shù)字數(shù)據(jù)如何轉換為...
閱讀 3177·2019-08-30 15:55
閱讀 2950·2019-08-30 13:46
閱讀 1451·2019-08-29 17:29
閱讀 3520·2019-08-29 11:08
閱讀 3444·2019-08-29 11:04
閱讀 1091·2019-08-28 18:20
閱讀 551·2019-08-26 13:37
閱讀 1332·2019-08-26 11:49