<script>
function Sty(name, age) {
this.name = name
this.age = age
// 放在这里的话 每次实例化,sing是个函数,属于复杂数据类型,每次都会开辟不同的内存空间,会存在浪费内存的情况
// this.sing = function() {
// console.log("方法")
// }
}
// 若是放在构造函数的原型对象上,可以实现共享该方法
Sty.prototype.sing = function() {
console.log("方法")
}
// 每次实例化,sing是个函数,属于复杂数据类型,每次都会开辟不同的内存空间,会存在浪费内存的情况
var sy = new Sty('aa', 18)
var sd = new Sty('bb', 18)
// 这样的话,就可以实现sing方法的共享了
sy.sing()
sd.sing()
// 为什么可以通过sy和sd 这些对象可以访问sing方法呐?是因为JS会默认个他们加上一个对象原型叫_ _proto_ _属性
// 而该属性指向的是构造函数Sty的prototype原型对象,所以可以用它们去使用sing方法
</script>