#理解javascript构造函数、原型和实例
文章目录
##函数
函数是Function类型的实例,即函数也是对象,故函数也拥有自己的方法,可增强其行为特性。
##构造函数
构造函数的首字母大写,且构造函数在被调用时,会经历几个步骤,创建一个新对象,将构造函数的作用域赋给新对象,执行构造函数代码,返回新对象。
// 构造函数
function Dog (food) {
this.food = food
onBark = function () {
console.log('bark!')
}
}
var dog = new Dog('bone')
Dog.prototype === dog.__proto__
##原型
每一个对象都有原型**(prototype)属性,构造函数Dog的原型属性指向Dog的原型对象,而实例dog的原型([[prototype]])**属性也指向原型对象,所以上面代码返回true。
如图所示: