## 一、數據類型
### 媒介
> Js中的類型只有6種,此中根本數據類型有5種差別為string,number,boolen,null,undefined,引用類型有一種,即是object,object是一個大的綜合體,在JS中除了那5個根本數據類型以外,其他的一切皆對象。以下是近期自學js收拾的一些筆記,但願能讓更多初學者了解到數據類型的根本概念。
### 正文
**1.獲取變量類型**
typeof
“`javascript
var age = 18;
console.log(typeof age); ‘number’
“`
**2.根本數據類型**
字符串(String),數值型(number),布爾型(boolean)
“`
a.字符串
var a = “laoangba”;
document.rite(typeof(a));
數值
var b = 123;
var b1 = 123.1;—> 同樣是number類型,不要判斷兩個浮點數是否相等.
布爾型
var c = ture;
var d = false;
“`
– Boolean字面量: true和false,分辨大小寫
– 算計機內部儲備:true為1,false為0
**3.復合數據類型**
對象(object),數組(array object)
“`
對象
var e = {‘name”niu’,’age’18}; —> 等價于PHP中class a()
“`
**4.其他數據類型**
函數,null,undefined
“`
函數類型
var j = function(){};
document.rite(j); —> 這里可能會有爭議,但typeof打印出來確實就有funcion類型
null類型
var h = null;
document.rite(h); —> 空對象,對象類型中的一個分支,沒有此對象的時候會顯示null.
alert(document.getElementById(‘notExistElement’)); —>顯示為null,找不到此對象
undefined類型
var g;
d真相哥 運彩ocument.rite(i); —> 打印一個不存在的變量,定義為undefined,未決定義或者定義了,但未初始化
alert(null == undefined);—> 顯示結局是true
alert(null === undefined);—> 顯示結局是false
“`
## 二、數據類的轉換
**2.1 隱式轉換**
隱式轉換常用于if判斷等需求直接結局的場所.
““
undefined == null; true
1 == true; true
2 == true; false
0 == false; true
0 == ”; true
比賽保留 運彩 NaN == NaN; false —> NaN 留心這是JS中一個不同凡響的表明,NaN表明不等于任何值.這個數值表明原來要回去數值的操縱數未回去數值的場合(這樣就不會拋犯錯誤了)。任何數值除以0城市導致過錯而終止步驟執行。通常採用isNaN()來判斷是否為NaN類型.
[] == false; true
[] == ![]; true
‘6’ – ‘3’ 3
1234 + ‘abcd’ “1234abcd”
““
1. undefined與null相等,但不恒等(===)
2. 一個是number一個是string時,會嘗試將string轉換為number
3. 隱式轉換將boolean轉換為number,0或1
4. 隱式轉換將Object轉換成number或string,取決于另有一個對比量的類型
5. 對于0、空字符串的判斷,建議採用 ===
6. ==會對差異類型值進行類型轉換再判斷,===則不會.它會先判斷兩端的值類型,類型不匹配時直接為false
**2.2顯示轉換**
Number
““javascript
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()可以把任意值轉換成數值,假如要轉換的字符串中有一個不是數值的字符,回去NaN
““
String
“`javascript
String(1234); “1234”
String(‘abcd’); “abcd”
足球倍率String(true); “true”
String(undefined); “undefined”
String(null); “null”
“`
Boolean
“`javascript
var a = Boolean(‘0’);
var b = Boolean(0);
var c = Boolean(‘1’);
var d = Boolean(null);
var e = Boolean(undefined);
var f = Boolean(NaN);
consol運彩 半夜e.log(a,b,c,d,e,f); true false true false false false
0、”(空字符串) 、null、 undefined 、NaN 會轉換成false 別的城市轉換成true
“`
parseFloat
“`js
var a = parseFloat(‘1.2df’); 1.2
var b = parseFloat(‘1.3.4’); 1.3
var c = parseFloat(‘c12’); NaN
var d = parseFloat(null); NaN
var e = parseFloat(undefined); NaN
console.log(a,b,c,d,e);
parseFloat() 把字符串轉換成浮點數
parseFloat()和parseInt極度類似,
差異之處在與parseFloat會分析第一個 . 遭遇第二個.或者非數字了結
假如分析的內容里只有整數,分析成整數
“`
parseInt()
“`js
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
假如第一個字符是數字會分析,直到遭遇非數字了結
假如第一個字符不是數字或者符號就回去NaN
“`
#### 2.3 字符串獨特說明
**1. 單引號和雙引號均可分析轉義字符**
**2. 單引號和雙引號均不可分析變量**
**3. 變量與字符串,變量與變量要採用+來拼湊,分辨開PHP**
**4.足球 pk 運彩 單引號和雙引號可以相互嵌套,假如單引號中藥嵌套單引號,需求將單引號轉義,同理,雙引號雷同**
“`
單引號和雙引號為啥不可分析說明
var a = 10;
alert(‘a’); —> 此處懵逼,究竟是要輸出變量還是字符串?它不像PHP,有個$直接可以分辨開變量和字符串
alert(‘a’+ a);
+連結說明
alert(‘hello’ + 3 + ‘orld’); hello3orld
alert(3 + 2 + ‘hello’ + 5 + ‘orld’); 5hello5orld
alert(4 + 4 + ‘hello’ + 4 + 5 + ‘orld’); 8hello45orld —> 左往右連結,兩個數字會懂得為加號,直到遇見不為數值則懂得為拼湊.
“`
如何打印一下字符串:
“`js
var s = ‘我很喜愛 雷鋒 \’的精力\’ ‘;
console.log(s);
“`
– 字符串長度
length屬性用來獲取字符串的長度
“`js
var str = ‘Hello World’;
console.log(str.length);
“`