prototype
翻译过来是原型的意思,在js
中特指对象的原型
prototype
对象是js
实现面向对象的一个重要机制
每个函数也是一个对象(划重点),他们对应的类是function
,每个函数对象都有一个子对象prototype
prototype
代表了该函数的原型,还表示了一个类的属性的集合
当用new
来生成一个对象时,prototype
对象的属性将会成为实例化的对象的属性
使用场景:
我们把所有方法都放在一个函数内部,每一次通过new
一个对象的时候,新创建的对象都会对类的this
上的属性进行复制,所以这些新创建的对象都会有自己的一套方法,这样做对内存消耗很大,我们可以通过原型的方式去处理
var checkObj = function () { }
checkObj.prototype = {
checkName: function () {
console.log('a');
return checkObj.prototype
},
checkEmail: function () {
console.log('b');
return checkObj.prototype
},
checkPwd: function () {
console.log('c');
return checkObj.prototype
}
}
console.log(checkObj); => [Function: checkObj]
let newObj = new checkObj()
newObj.checkName().checkEmail().checkPwd() => a b c