各関数オブジェクトには長さの属性があり、関数が受信すると予想されるパラメーターの数を示します。
コードコピーは次のとおりです。
<html>
<head>
<script type = "text/javascript">
var add = function(num1、num2、num3){
アラート(num1+num2+num3);
}
アラート(add.length);
</script>
</head>
<body>
</body>
</html>
オブジェクト指向JSの作成について、
ターゲット:
注文オブジェクトを作成します。
日付、金額、送信者の3つの属性が含まれます
メソッドが含まれています:ディスプレイ文字列: "xxx-xx-xxのxxxx yuan:xxx yuanを含む注文を提出しました" "
1つの工場メソッド
コードコピーは次のとおりです。
<script type = text/javascript>
/*
工場の方法:メソッドを使用してオブジェクトを返し、使用するときに新しいオブジェクトを介して新しいオブジェクトを生成する必要はありません。
*/
関数CreateOrder()//パラメーターを使用して、渡されたパラメーターに基づいてオブジェクトデータを初期化するパラメーターを使用して工場メソッドを構築することもできます。
{
var order = new object();
order.date = "1990-1-1";
order.price = "3200";
order.name = "Vince Keny";
order.show = function()//ファクトリーにshowメソッドを配置すると、各インスタンスのショーメソッドを個別に作成します。資源を無駄にすることは、このパターンの欠点です。
{
alert(this.name + "in" + this.date + "" + this.price + "rmb。"のクォータ付き注文 ")
}
返品注文;
}
//工場モードを使用してオブジェクトを返します。
var order = createOrder();
//この方法でも使用して、工場パターンを「擬似構築者」に変換できます。新しいものが工場で使用されるため、オブジェクトを作成するときの新しいオペレーターは無視されます。
var order2 = new CreateOrder();
order.show();
order2.show();
</script>
2つのコンストラクターメソッド
コードコピーは次のとおりです。
/*
コンストラクターの方法とメソッド宣言は工場法と同じであり、同じ問題があり、抽出することができます。違いは、これが属性を宣言するために使用されることです。
また、新しいオペレーターを使用してインスタンスを生成する必要があります。
*/
function order()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
this.show = function()
{
alert(this.name + "in" + this.date + "" + this.price + "rmb。"のクォータ付き注文 ")
}
}
var order = new Order();
order.show();
3つのプロトタイプメソッド
コードコピーは次のとおりです。
/*
プロトタイプ方法:プロトタイプを使用します
*/
function order()
{}
order.prototype.date = "1990-1-1";
order.prototype.price = "3200";
order.prototype.name = "Vince Keny";
order.prototype.show = function()
{
alert(this.name + "in" + this.date + "" + this.price + "rmb。"のクォータ付き注文 ")
}
var order = new Order();
order.show();
4つのハイブリッドコンストラクター/プロトタイプメソッド
コードコピーは次のとおりです。
/*
ハイブリッドコンストラクター/プロトタイプ法:コンストラクター法を使用して属性フィールドを初期化し、プロトタイプメソッドを使用してメソッドを構築します。
*/
function order()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
}
order.prototype.show = function()。
{
alert(this.name + "in" + this.date + "" + this.price + "rmb。"のクォータ付き注文 ")
}
var order = new Order();
order.show();
5つの動的ハイブリッドメソッド
コードコピーは次のとおりです。
/*
動的混合方法:混合方法の違いは、方法を宣言する位置にあります。メソッドの寿命をコンストラクター内に置くことは、オブジェクト指向に沿っています。
*/
function order()
{
this.date = "1990-1-1";
this.price = "3200";
this.name = "Vince Keny";
if(typeof order._initialized == "未定義")
{
order.prototype.show = function()。
{
alert(this.name + "in" + this.date + "" + this.price + "rmb。"のクォータ付き注文 ")
};
order._initialized = true;
}
}
ファンクションカー(スコラー、アイドル){
var otempcar = new Object;
otempcar.color = scolor;
otempcar.doors = idooes;
otempcar.showcolor = function(){
アラート(this.color)
};
OTEMPCARを返します。
}
var ocar1 = new car( "red"、4);
var ocar2 = new car( "Blue"、3);
ocar1.showcolor(); //「red」出力
ocar2.showcolor(); //「青」出力