构造函数的方法与构造函数prototype属性上方法的对比
区分 : 函数内声明的方法 , prototype上声明的方法
函数内的方法 使用函数内部的方法可以直接访问到函数内部的私有变量,如果我们通过构造函数new出来的对象需要我们操作构造函数内部的私有变量的话
我们这个时候就需要考虑在函数的prototype 上添加方法
prototype上的方法 当我们需要通过一个函数创建大量的对象,大量的方法时 就需要考虑prototype了
这种情况下我们代码的内存占用就比较小
在实际的应用中 这两种方法往往是结合使用;所以我们要首先了解我们需要的是什么然后在做抉择
function a(name) {
console.log('构造函数');
this.name1 = name || 'a'
this.sess = function (name1) {
console.log('Hello, my name is:' + this.name1)
}
}
function headFirst(name) {
this.name = name || 'b'
}
headFirst.prototype.fun = function () {
console.log('构造函数2')
console.log(<