面向对象

57 阅读1分钟

面向对象的属性

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