js中的資料型別可以分為基本型別和引用型別
基本型別包括了 number string boolen undefined null symbol
引用型別包括了object 又可以具體的分為 object array date regexp function
關於資料型別的檢測
1.typeof() 方法
typeof(3) //number
typeof('3') //string
typeof(false) //boolen
typeof(undefined) // undefined
typeof(null) //object
typeof() //object
typeof(new object()) //object
typeof(function()) //function
typeof(new date()) //object
typeof(new regexp()) //object
typeof(symbol()) //symbol
因此typeof() 方法不能用來檢測引用型別的資料型別
2.instanceof() 方法
instanceof array; //true
{} instanceof object;//true
new date() instanceof date;//true
new regexp() instanceof regexp//true
null instanceof null//報錯
undefined instanceof undefined//報錯
instanceof() 方法不能用來直接檢測基本資料型別
3.constructor()方法
console.log(("1").constructor === string);
2 console.log((1).constructor === number);
3 console.log((true).constructor === boolean);
4 === null);
5 === undefined);
6 console.log(().constructor === array);
7 console.log((function() {}).constructor === function);
8 console.log(({}).constructor === object);
new regexp().constructor === regexp
複製**
在constructor方法中不能改寫建構函式的原型,否則結果不正確
function fn(){};
fn.prototype=new array();
var f=new fn();
console.log(f.constructor===fn);
console.log(f.constructor===array);
4. 最準確的方法
object.prototype.tostring.call()
object.prototype.tostring.call('') ; // [object string]
object.prototype.tostring.call() ; // [object array]
JS中的資料型別
js中的資料型別分為兩種 基本資料型別和引用資料型別 基本資料型別 number boolean string undefined null symbol es6中新增 引用資料型別 object array function date regexp 等 講區別之前,需要先了解堆 heap 和棧 s...
js中的資料型別
1.基本資料型別和複雜資料型別 雖然typeof null返回的值是object,但是null不是物件,而是基本資料型別的一種。這是乙個歷史遺留問題,js 的最初版本中使用的是 32 位系統,為了效能考慮使用低位儲存變數的型別資訊,000開頭代表是物件,null表示為全零,所以將它錯誤的判斷為obj...
JS中的資料型別
number,string,boolean,undefined,null,object 1.基本型別 簡單型別 值型別 number,string,boolean 2.引用型別 object 3.空型別 undefined,null var定義的變數,沒有塊的概念,可以跨塊訪問,不能跨函式訪問。le...