数码资讯
Javascript实现类的各种方法实例
施工方法 复制代码代码如下所示: 编码器()函数 { this.name =现代魔术; this.job =网络开发; this.coding =功能() {警报(我正在写代码)};} } var编码器=新编码器(); 警报(编码器,名称); Coder.coding(); 工厂方法 复制代码代码如
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
施工方法
复制代码代码如下所示:
编码器()函数
{
this.name =现代魔术;
this.job =网络开发;
this.coding =功能()
{警报(我正在写代码)};}
}
var编码器=新编码器();
警报(编码器,名称);
Coder.coding();
工厂方法
复制代码代码如下所示:
createcoderfactory()函数
{
var obj =新的对象();
obj.name =现代魔术;
obj.job =程序员;
obj.coding =功能()
{
警报(我正在写代码);
};
返回对象;
}
VaR编码器= createcoderfactory();
警报(编码器,名称);
Coder.coding();
工厂方法和构建方法都有相同的缺点,即创建每个实例来实例化类的每个函数。
原型链
复制代码代码如下所示:
函数(编码器){ }
coder.prototype.name =现代魔术;
coder.prototype.job =程序员;
coder.prototype.coding =函数(){
警报(我正在写代码);
};
var编码器=新编码器();
警报(编码器,名称);
Coder.coding();
原型链的一个缺点是,只要一个实例改变另一个实例,它的所有属性都会共享:
复制代码代码如下所示:
无功coder1 =新的编码器();
无功coder2 =新的编码器();
警报(coder1。名称); / * * /现代魔术表演
coder2.name = 'nowamagic;
警报(coder1。名称); / * * / nowamagic
警报(coder2。名称); / *这也说明nowamagic * /
混合法
上述三种方法都有其不足之处,需要加以改进。
复制代码代码如下所示:
函数编码器()
{
this.name =现代魔术;
this.job =程序员;
}
coder.prototype.coding =函数(){
警报(我正在写代码);
};
动态原链
有一种方法可以解决前三种的缺点。
复制代码代码如下所示:
函数编码器()
{
this.name =现代魔术;
this.job =程序员;
如果(typeof(编码器。_init)= 'undefined)
{
this.coding =功能()
{
警报(我正在写代码);
};
这_init =真;
}
}
复制代码代码如下所示:
编码器()函数
{
this.name =现代魔术;
this.job =网络开发;
this.coding =功能()
{警报(我正在写代码)};}
}
var编码器=新编码器();
警报(编码器,名称);
Coder.coding();
工厂方法
复制代码代码如下所示:
createcoderfactory()函数
{
var obj =新的对象();
obj.name =现代魔术;
obj.job =程序员;
obj.coding =功能()
{
警报(我正在写代码);
};
返回对象;
}
VaR编码器= createcoderfactory();
警报(编码器,名称);
Coder.coding();
工厂方法和构建方法都有相同的缺点,即创建每个实例来实例化类的每个函数。
原型链
复制代码代码如下所示:
函数(编码器){ }
coder.prototype.name =现代魔术;
coder.prototype.job =程序员;
coder.prototype.coding =函数(){
警报(我正在写代码);
};
var编码器=新编码器();
警报(编码器,名称);
Coder.coding();
原型链的一个缺点是,只要一个实例改变另一个实例,它的所有属性都会共享:
复制代码代码如下所示:
无功coder1 =新的编码器();
无功coder2 =新的编码器();
警报(coder1。名称); / * * /现代魔术表演
coder2.name = 'nowamagic;
警报(coder1。名称); / * * / nowamagic
警报(coder2。名称); / *这也说明nowamagic * /
混合法
上述三种方法都有其不足之处,需要加以改进。
复制代码代码如下所示:
函数编码器()
{
this.name =现代魔术;
this.job =程序员;
}
coder.prototype.coding =函数(){
警报(我正在写代码);
};
动态原链
有一种方法可以解决前三种的缺点。
复制代码代码如下所示:
函数编码器()
{
this.name =现代魔术;
this.job =程序员;
如果(typeof(编码器。_init)= 'undefined)
{
this.coding =功能()
{
警报(我正在写代码);
};
这_init =真;
}
}
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。