1.构造函数和普通函数区别就是调用方式的不同
普通函数是直接调用,而构造函数需要new关键字来调用
2.构造函数的执行流程
(1)立刻创建一个新的对象
(2)将新建的对象设置为函数中的this,在构造函数中可以使用this来引用新建的对象
(3)逐行执行函数中的代码
(4)将新建的对象作为返回值返回
3.使用同一个构造函数创建的对象,我们称为一类对象,也将一个构造函数称为一个类
我们将通过一个构造函数常见的对象,称为是该类的实例
4.使用instanceof可以检查一个对象是否是一个类的实例
语法:
对象 instanceof 构造函数
如果是,则为true,否则返回false
function Person(name, age) {
this.name = name
this.age = age
this.sayName = function() {
alert(this.name)
}
}
function Dog() {}
var per = new Person('zhang', 12)
var per1 = new Person('lijia', 18)
var dog = new Dog()
console.log(per instanceof Person) //true
console.log(dog instanceof Person) //false
console.log(dog instanceof Dog) //true
console.log(per instanceof Object) //true
console.log(dog instanceof Object) //true