每个函数对象都有一个长度属性,该属性表示函数预期接收的参数数。

复制代码代码如下所示:







VaR加=功能(num1,num2,小键盘数字3){

警报(num1 + num2 +小键盘数字3);

}

警报(添加长度);













关于JS面向对象创建的方法,

目的:

建立订单对象。

包含三个属性:日期、数量、作者

有一个方法:显示字符串:XX提交XXXX元的订单在xxxx-xx-xx。

一个工厂模式

复制代码代码如下所示:



*

工厂模式:通过使用方法返回对象,不需要通过新的方法生成新对象。

* /

功能(createorder) / /也可以与工厂方法的参数构造,根据对象数据的初始化参数。

{

var =新对象();

Order.Date = 1990-1-1;

订单。价格= 3200;

秩序。名称=文斯康尼;

分别为每个实例创建一个show方法。浪费资源就是滥用这种模式。

{

警报(this.name + +,日期+提交金额+这个价格+元级)

}

返回命令;

}

使用工厂模式返回对象:

VaR阶= createorder();

也可以用这种方式,将工厂模型转换为伪构造函数

VaR点=新createorder();

命令(显示);

点显示();





两个构造函数的方法

复制代码代码如下所示:

*

作为构造函数,该方法的声明与工厂的声明相同。它也可以从相同的问题中提取。区别在于声明属性如下所示

你需要使用新的操作符来生成一个实例。

* /

函数顺序()

{

这个日期=1990-1-1 ;

这个价格= 3200;

这个名称=文斯康尼;

这个=函数()

{

警报(this.name + +,日期+提交金额+这个价格+元级)

}

}



var =新订单();

命令(显示);



三原型模式

复制代码代码如下所示:

*

原型化:使用原型

* /

函数顺序()

{ }



order.prototype.date =1990-1-1 ;

order.prototype.price =3200;

order.prototype.name =文斯康尼;

order.prototype.show =功能()

{

警报(this.name + +,日期+提交金额+这个价格+元级)

}

var =新订单();

命令(显示);



四混合构造函数/原型模式

复制代码代码如下所示:

*

混合构造函数/原型:使用构造函数初始化属性字段并使用原型构造方法。

* /

函数顺序()

{

这个日期=1990-1-1 ;

这个价格= 3200;

这个名称=文斯康尼;

}

order.prototype.show =功能()。

{

警报(this.name + +,日期+提交金额+这个价格+元级)

}

var =新订单();

命令(显示);



五动态混合法

复制代码代码如下所示:

*

动态混合:声明方法的位置不同于混合方法。方法生命放在构造函数中,它更符合面向对象的方法。

* /

函数顺序()

{

这个日期=1990-1-1 ;

这个价格= 3200;

这个名称=文斯康尼;



如果(typeof秩序。_initialized = =未定义)

{

order.prototype.show =功能()。

{

警报(this.name + +,日期+提交金额+这个价格+元级)

};

_initialized =真正的秩序;

}

}

功能车(scolor,idoors){

无功otempcar =新的对象;

otempcar.color = scolor;

otempcar.doors = idooes;

otempcar.showcolor =函数(){

警戒(这个颜色)

};

返回otempcar;

}

无功ocar1 =新车(红

无功ocar2 =新车(蓝

ocar1.showcolor(); / /输出红

ocar2.showcolor(); / /输出蓝色