摘要:一任意類型轉換為字符串要大寫這種方法可以將,,轉化為字符串,但是無法轉換,這兩種數據類型要大寫是一個全局函數,功能更強大可以轉換基本上所有類型為字符串這是最簡單最便捷的一種方法,把加上一個空字符串就可以快速將其他類型轉換成字符串二任意類型轉
一、任意類型轉換為字符串 1、x.toString(S要大寫)
這種方法可以將number,boolean,object轉化為字符串,但是無法轉換null,undefined這兩種數據類型
(1).toString() "1" true.toString() "true" var obj={} (obj).toString() "[object Object]"2、String(x)(S要大寫)
String(x)是一個全局函數,功能更強大可以轉換基本上所有類型為字符串
String(1) "1" String(null) "null" String(undefined) "undefined" String(true) "true" String(obj) "[object Object]"3、"" + x OR x + ""
這是最簡單最便捷的一種方法,把x加上一個空字符串就可以快速將其他類型轉換成字符串
1 + "" "1" null + "" "null" undefined + "" "undefined" true + "" "true" obj + "" "[object Object]"二、任意類型轉換為布爾 1、Boolean(x)(B要大寫)
可以轉換所有類型為布爾類型
Boolean(1) true Boolean(null) false Boolean(undefined) false Boolean(obj) true Boolean("s") true2、!! + x
這是一種最便捷最快的方式來使其他類型轉換為布爾類型
!!1 true !!null false !!undefined false !!obj true !!"s" true
布爾類型中有五個falsy值,分別是:NaN, 0, null, undefined, ""。
falsy是在Boolean 上下文中認定可轉換為false的值.
對象數據類型無論是空對象還是其他對象,只要是對象轉換為布爾值就是true
除了要轉換的類型本來就是由數字的組成之外,其他的轉換一律變成NaN
Number("1") 1 Number("s") NaN Number(obj) NaN Number("s1") NaN Number("1s") NaN Number("+1") 1 Number("-1") -12、parseInt(x,10)MDN
這是將其他類型轉換成整數類型,后面的10表示的是十進制,取值范圍為2~37之間
parseInt("011",10) 11 parseInt("0x11",10) 0 parseInt("011",36) 37 parseInt("0x11") 17 parseInt("08") 8 parseInt("011",2) 33、parseFloat(x)MDN
解析一個字符串并返回一個浮點數
parseFloat("3.14") 3.14 parseFloat("314e-2") 3.14 parseFloat("0.0314E+2") 3.14 parseFloat("3.14more non-digit characters") 3.14 parseFloat("FF2") NaN4、x - 0
這是一種最簡單快捷的方法,字符串減去一個0可以轉換成數字
"1"-0 1 "s"-0 NaN "02s"-0 NaN5、+ x
在要轉換的類型前面加上+可以轉換成數字,并不是取絕對值
+ "1" 1 + "-1" -1 + "s" NaN + "1s" NaN + obj NaN四、內存圖
瀏覽器分配內存給每個頁面,每個頁面也分配內存給js引擎,js引擎將內存分為代碼區和數據區,數據區又分為stack區和heap區,簡單數據類型都儲存在stack區,復雜數據類型儲存在heap區,并在stack區儲存heap區對象的地址,通過stack的引用來訪問heap區的對象,復制也只是在stack區復制一個heap的地址
垃圾回收:頁面用完的內存,瀏覽器再分給別的頁面,如果一個對象沒有被引用,它就是垃圾,將被回收
內存泄漏:垃圾無法被清理,在IE6上就存在這樣的bug
var a = 1 undefined var b = a undefined b = 2 2 a 1
b變不影響a,這樣就是深拷貝,例如基本類型賦值就是深拷貝
淺拷貝var a = { name:"a" } undefined var b = a undefined b.name="b" "b" a.name "b"
b變化會影響a,這樣的類型就是淺拷貝
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/95840.html
摘要:的數據類型轉換一中的數據類型中的數據類型一共有六種,即,,,,,。數據類型指的是數字,包括整型和浮點數。如布爾類型只有和,用于條件判斷。數據類型的相互轉換任意數據類型轉字符串特殊用法任意數據類型轉數字任意數據類型轉布爾值五個值 JS的數據類型轉換 一、js中的數據類型Js中的數據類型一共有六種,即number,string,boolean,underfine,null,object。 ...
摘要:業務越復雜,邏輯就越復雜,判斷就越多比較判斷比較判斷是比較兩個值,返回一個布爾值,表示是否滿足比較條件。對于非布爾值的數據,取反運算符會自動將其轉為布爾值。 前端學習:教程&開發模塊化/規范化/工程化/優化&工具/調試&值得關注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:========== JavaScript-判斷 代碼中,多多少少會有判斷語句。業務越復雜,邏輯就越...
摘要:的數據類型,共有七種數值整數和小數比如和。布爾值表示真偽的兩個特殊值,即真和假。符號其中是新增的基本數據類型,本文僅介紹前六種。轉換規則是除了或空字符串六個值被轉為,其他值都視為。屬性對象的每一個鍵名又稱為屬性,它的鍵值可以是任何數據類型。 一、簡介 JavaScript 語言的每一個值,都屬于某一種數據類型。JavaScript 的數據類型,共有七種: 數值(number):整數和...
摘要:于是,轉換層就此誕生。轉換層顧名思義,把接口數據格式轉換成頁面所需要格式。第二版設計在第一版設計中,遇到轉換方法與使用頁面對應不明確的問題。在第三版設計,也是從調整劃分子模塊方式下手,改回數據類型的維度劃分,同時,規范方法命名。 前言 在工作中,經常會遇到,接口的數據格式與頁面布局/交互不匹配的情況,需要前端進行處理。 心想:數據處理與業務無關,單獨抽離一個模塊來寫吧。 于是,轉換層就...
摘要:于是,轉換層就此誕生。轉換層顧名思義,把接口數據格式轉換成頁面所需要格式。第二版設計在第一版設計中,遇到轉換方法與使用頁面對應不明確的問題。在第三版設計,也是從調整劃分子模塊方式下手,改回數據類型的維度劃分,同時,規范方法命名。 前言 在工作中,經常會遇到,接口的數據格式與頁面布局/交互不匹配的情況,需要前端進行處理。 心想:數據處理與業務無關,單獨抽離一個模塊來寫吧。 于是,轉換層就...
閱讀 2541·2021-07-26 23:38
閱讀 3441·2019-08-30 13:10
閱讀 2326·2019-08-29 18:33
閱讀 2331·2019-08-29 16:12
閱讀 999·2019-08-29 10:59
閱讀 1806·2019-08-26 17:40
閱讀 778·2019-08-26 11:59
閱讀 820·2019-08-26 11:41