in:检测一个属性是否是某个对象的共有属性或者私有属性
hasOwnProperty:只能监测私有属性
例如:
function Person(){}
Person.prototype.name = "javascript";
Person.prototype.age = 26;
Person.prototype.job = "Software Engineer";
var person1 = new Person();
var person2 = new Person();
alert(person1.hasOwnProperty("name"));//false
alert("name" in person1);//true
person1.name = "Greg";
alert(person1.hasOwnProperty("name"));//true 因为是person1的私有属性所以是true
二、检测数据类型
typeof:用来获取一个变量是否存在,如if(typeof a!="undefined"){}
,而不要去使用if(a)因为如果a不存在(未声明)则会出错
!=返回同类型值比较结果 ;var num = 1; var str = '1'; console.log(num != str)
!== 不同类型不比较,且无结果,同类型才比较;var num = 1; var str = '1'; console.log(num !== str)
Object.prototype.toString.call()
instanceof:用于判断一个变量是否某个对象的实例
var a=new Array();alert(a instanceof Array)