1 面向对象
面向对象的思想是---抽象的过程--->实例化的过程
<script>
function Person(name,age){
this.name=name;
this.age=age;
this.sayHi=function(){
console.log("您好");
}
}
//构造函数---->创建对象
var per = new Person("小明",20);
per.sayHi();
//实例化对象是通过构造函数来创建的
//
console.dir(per); //dir 可以把这个对象的结构给显示出来(输出的是实例对象)
console.dir(Person);//(输出的是构造函数的名字)
//实例对象的构造器(构造函数)
console.log(per.constructor==Person);//true
console.log(per.__proto__.constructor==Person);//true
console.log(per.__proto__.constructor==Person.prototype.construct);//true
var Ainmal = function(name){
this.name=name;
}
//实例化对象
var dog = new Animal("大黄");
console.dir(Animal); //(输出的是构造函数的名字)
console.dir(dog);//(实例对象)
//判断这个对象是不是这种数据类型
console.log(dog.constructor==Person);//false
console.log(dog.constructor==Animal);//true
console.log(dog instanceof Person);//false
console.log(dog instanceof Animal);//true
</script>
2 总结
2.1 实例对象和构造函数之间的关系:
- 1.实例对象是通过构造函数来创建的---创建的过程叫做实例化
- 2.如何判断对象是不是这个数据类型?
- 1)通过构造器的方式 实例对象,构造器==构造函数的名字
- 2)对象 instanceof 构造函数名字(尽可能使用第二种方式来进行识别,第一种方式不太准确)