创建一个Person构造函数
- 在Person构造函数中,为每一个对象都添加了一个sayName方法
目前我们的方式是在构造函数内部创建的,也就是构造函数没执行一次
就会创建一个新的sayName方法
有就是所有实例的sayName都是唯一的。
这样就导致了构造函数执行一次就会创建一个新的方法
执行10000次就会创建10000个新的方法,而10000个方法都是一模一样的
这是完全没有必要的,完全可以使所有的对象共享同一个方法
function Person(name, age, gender){
this.name = name
this.age = age
this.gender = gender
this.sayName = fun
}
// 将sayName方法在全局作用域中定义
function fun(){
alert("hello大家好,我是" + this.name)
}
var per = new Person("孙悟空",12,"男")
var per2 = new Person("猪八戒",12,"男")
// per2.sayName()
console.log(per.sayName == per2.sayName)
console.log(per2)