JS中一定要了解的數(shù)據(jù)類型和數(shù)據(jù)轉(zhuǎn)換

來源 |?http://www.fly63.com/article/detial/6632
一、數(shù)據(jù)類型
前言
正文
var age = 18;console.log(typeof age); // 'number'
Boolean字面量:true和false,區(qū)分大小寫
計算機(jī)內(nèi)部存儲:true為1,false為0
二、數(shù)據(jù)類的轉(zhuǎn)換
undefined與null相等,但不恒等(===)
一個是number一個是string時,會嘗試將string轉(zhuǎn)換為number
隱式轉(zhuǎn)換將boolean轉(zhuǎn)換為number,0或1
隱式轉(zhuǎn)換將Object轉(zhuǎn)換成number或string,取決于另外一個對比量的類型
對于0、空字符串的判斷,建議使用 “===”
“==”會對不同類型值進(jìn)行類型轉(zhuǎn)換再判斷,“===”則不會.它會先判斷兩邊的值類型,類型不匹配時直接為false
var a = Number('1');var b = Number(1);var c = Number('c');var d = Number(null);var e = Number(undefined);console.log(a,b,c,d,e); // 1 1 NaN 0 NaN// Number()可以把任意值轉(zhuǎn)換成數(shù)值,如果要轉(zhuǎn)換的字符串中有一個不是數(shù)值的字符,返回NaN
String(1234); // "1234"String('abcd'); // "abcd"String(true); // "true"String(undefined); // "undefined"String(null); // "null"
var a = Boolean('0');var b = Boolean(0);var c = Boolean('1');var d = Boolean(null);var e = Boolean(undefined);var f = Boolean(NaN);console.log(a,b,c,d,e,f); //true false true false false false// 0、''(空字符串) 、null、 undefined 、NaN 會轉(zhuǎn)換成false 其它都會轉(zhuǎn)換成true
var a = parseFloat('1.2df'); //1.2var b = parseFloat('1.3.4'); //1.3var c = parseFloat('c12'); //NaNvar d = parseFloat(null); //NaNvar e = parseFloat(undefined); //NaNconsole.log(a,b,c,d,e);// parseFloat() 把字符串轉(zhuǎn)換成浮點(diǎn)數(shù)// parseFloat()和parseInt非常相似,// 不同之處在與parseFloat會解析第一個 . 遇到第二個.或者非數(shù)字結(jié)束// 如果解析的內(nèi)容里只有整數(shù),解析成整數(shù)
var a = parseInt('1.2df'); //var b = parseInt(1);var c = parseInt('c12');var d = parseInt(null);var e = parseInt(undefined);console.log(a,b,c,d,e); //1 1 NaN NaN NaN// 如果第一個字符是數(shù)字會解析,直到遇到非數(shù)字結(jié)束// 如果第一個字符不是數(shù)字或者符號就返回NaN
2.3 字符串特別說明
var s = '我很喜歡 \"雷鋒 \'的精神\' \"';console.log(s);
var str = 'Hello World';console.log(str.length);

評論
圖片
表情
