值型別(基本型別):字串(string)、數字(number)、布林(boolean)、對空(null)、未定義(undefined)、symbol。
引用資料型別:物件(object)、陣列(array)、函式(function)。
console.log( typeof 1 ); //number
console.log( typeof true ); //boolean
console.log( typeof '1' ); //string
console.log( typeof ); //object
console.log( typeof {} ); //object
console.log( typeof function(){} ); //function
console.log( typeof date ); //function
console.log( typeof null ); //object
console.log( typeof undefined ); //undefined
console.log( typeof nan); //number
缺點:不能準確判斷資料型別;
console.log( 1 instanceof number ); //false
console.log( "1" instanceof string ); //false
console.log( true instanceof boolean ); //false
console.log( instanceof object ); //true
console.log( instanceof array ); //true
console.log( {} instanceof object ); //true
console.log( function(){} instanceof function ); //true
console.log( date instanceof function ); //true
console.log( null instanceof object ); //false
console.log( undefined instanceof object ); //false
// instanceof用來判斷乙個物件是否是物件型別的例項,所以判斷1,「1」,true等值時返回false
console.log( new number(1) instanceof number );
console.log( new string("1") instanceof string );
console.log( new boolean(true) instanceof boolean ); //例項化之後返回true
不能用於undefined 與 null 因為它們沒有建構函式
const num = new number(2);
num.constructor === number; // true
注:一般使用instanceof來判斷物件是否屬於某個類的例項,而不是constructor
instanceof不但可以判斷出是直接類的例項(通過new的方式),還可以判斷是否是父類的例項;而constructor屬性只可以判斷出是否是直接類的例項。
function person(name,age)
var student = new person("xiaoming", 18);
// instanceof
console.log(student instanceof person); //true
console.log(student instanceof object); //true
// constructor
console.log(student .constructor == person); //true
console.log(student .constructor == object); //false
console.log( object.prototype.tostring.call(1) ); // [object number]
console.log( object.prototype.tostring.call("1") ); // [object string]
console.log( object.prototype.tostring.call(true) ); // [object boolean]
console.log( object.prototype.tostring.call() ); // [object array]
console.log( object.prototype.tostring.call({}) ); // [object object]
console.log( object.prototype.tostring.call(date) ); // [object function]
console.log( object.prototype.tostring.call(function(){}) ); // [object function]
console.log( object.prototype.tostring.call(null) ); // [object null]
console.log( object.prototype.tostring.call(undefined) ); // [object undefined]
可以準確判斷資料型別 js判斷資料型別
1 typeof 形如 var x xx typeof x string 返回型別有 undefined string number boolean function object 缺點 對於object型別不能細分是什麼型別 優點 對空null的判斷 undefined 的應用 2 instanc...
js判斷資料型別
了解js的都知道,有個typeof 用來判斷各種資料型別,有兩種寫法 typeof typeof 如下例項 typeof 2 輸出 number typeof null 輸出 object typeof 輸出 object typeof 輸出 object typeof function 輸出 fu...
js判斷資料型別
1 判斷是否為陣列型別 2 判斷是否為字串型別 3 判斷是否為數值型別 isnan 變數 如果為true就是數字型別 注意這個函式一般針對數字型別來判斷是否值為nan,若變數為非數字型別,則先轉化為數字型別再做判斷,用此函式時,別忘考慮空串和空格 這倆轉化為數字是0 4 判斷是否為日期型別 5 判斷...