面向对象的属性
1.instanceof 检测我们数据的类型(更加靠谱) true/false
var a="hello";
var arr=[1,2,3];
var date=new Date();
console.log(typeof a);//"string"
console.log(typeof arr);//obj
console.log(typeof date);//obj
console.log(a instanceof String);//false 用于检测引用类型
console.log(arr instanceof Array);//true
console.log(date instanceof Date);//true
console.log(Object.prototype.toString.call(a));//[object String] console.log(Object.prototype.toString.call(arr));//[object Array]
console.log(Object.prototype.toString.call(date));//[object Date]
2. 检测属性是不是实例的属性(用实例对象检测) hasOwnProperty() true/false
function Person(name,age){//实例属性
this.name=name;
this.age=age;
}
Person.prototype.friends=["Tom","rain"];//原型属性
var p=new Person("lili",28);//p实例对象 Person{} 构造函数
console.log(p.hasOwnProperty("name"));//true
console.log(p.hasOwnProperty("age"));//true
console.log(p.hasOwnProperty("friends"));//false