创建自定义类型方式
程序员文章站
2022-05-20 19:46:15
...
1、 构造函数和原型函数
function Money(value,name,count){
this.value = value;
this.name = name;
this.count = count;
}
Money.prototype = {
constructor:Money,
getMoney : function(){
return this.value * this.count;
}
}
mon.getMoney() ===> 100
2、动态原型模式
(此方法不能重写构造函数原型,否则对象获取不到新增属性或方法)
function Money1(value,name,count){
this.value = value;
this.name = name;
this.count = count;
if(typeof this.some != "function"){
Money1.prototype.some = 222;
console.log("打印出:" +123456)
}
}
let mo2 = new Money1(10,'kk',1); ====打印出:123456
3、寄生构造函数
想拥有一个新的方法,但是不能直接改变引用类型的构造函数。
function someTime(){
let arr = new Array();
arr.push.apply(arr,arguments);
arr.toJion = function(){
return this.join("|")
}
return arr}
undefined
let arr = new someTime("11",22,44,55,66);
["11", 22, 44, 55, 66, toJion: ƒ]