function 士兵(ID){
var 临时对象 = {} //1.创建临时对象/新对象
临时对象.__proto__ = 士兵.原型 //2. 绑定原型
临时对象.ID = ID // 4. 执行构造函数
return 临时对象 //5. 返回临时对象
}
士兵.原型 = {
兵种:"美国大兵",
攻击力:5,
行走:function(){ /*走俩步的代码*/},
奔跑:function(){ /*狂奔的代码*/ },
死亡:function(){ /*Go die*/ },
攻击:function(){ /*糊他熊脸*/ },
防御:function(){ /*护脸*/ }
}
像上面的,js之父帮你把流程简化了
用new 关键字,只需自己写私有属性和原型,就可以让构造函数拥有公有属性,且合理占用内存资源
new 就是把上面的创建临时对象,返回临时对象,绑定原型,指定 this = 临时对象,执行构造函数( 创建私有属性 )给简化
new就是以上操作的语法糖
function 士兵(ID){
this.ID = ID
this.生命值 = 42
}
士兵.prototype = {
兵种:"美国大兵",
攻击力:5,
行走:function(){ /*走俩步的代码*/},
奔跑:function(){ /*狂奔的代码*/ },
死亡:function(){ /*Go die*/ },
攻击:function(){ /*糊他熊脸*/ },
防御:function(){ /*护脸*/ }
}
const soldier = new 士兵(1)