1、js裏面的數據類型(有些面試官又喜歡稱作變量類型,我覺得變量類型不是關於引用類型之類的嗎?當他告訴我變量類型就是數據類型的時候,我差點笑出來。哈哈,所以有些面試官的水平不用多想)
boolean,null,undefined,number,string,object,再加上es6提供的symbol,目前js一共有6+1種數據類型
2、tyepof和instanceof有何區別?
typeof用來判斷變量的數據類型,只有六個值boolean,number,string,null。undefined,object
console.log(typeof (123));//typeof(123)返回"number"
console.log(typeof ("123"));//typeof("123")返回"string"
var param1 = "string";
var param2 = new Object();
var param3 = 10;
console.log(typeof(param1)+"\n"+typeof(param2)+"\n"+typeof(param3));
// string object number
instanceof用來判斷一個變量或者一個類型是否存在於一個對象的原型鏈上
如 :var a=new Array();
alert(a instanceof Array); // true,
同時 alert(a instanceof Object) //也會返回 true;
這是因爲 Array 是 object 的子類。
再如:function test(){};
var a=new test();
alert(a instanceof test) 會返回true
alert(a==b); //flase
console.log(Object instanceof Object);//true
console.log(Function instanceof Function);//true
console.log(Number instanceof Number);//false
console.log(String instanceof String);//false
console.log(Function instanceof Object);//true
console.log(Foo instanceof Function);//true
console.log(Foo instanceof Foo);//false