ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript応用編機能(4)_基礎知識

JavaScript応用編機能(4)_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:54:35832ブラウズ

1. 関数の作成

多くの関数はこれまでに使用したので、ここでは詳しく説明しません。

2. ネストされた関数

コードをコピーします コードは次のとおりです:

function china()
{
function people()//ネストされた関数、中国のみが使用します
{
document.write("私の願いは杜甫になることです。最近彼の漫画はオンラインです。彼はとても自由に暮らしています");
}
people();
}

3. 関数の直接量

JavaScript では関数を使用できます直接量 定義とは、端的に言えば式 (無名関数) です。詳細: 今後匿名関数が使用されますので、ご了承ください。
コードをコピー コードは次のとおりです。

function china(people) //関数宣言
{
return people;
}
var fun = function(people){return people;};//式によって宣言されます。効果は同じです

4. 関数のパラメータ (ここで皆さん注意してください)

宣言されたパラメータ数よりも少ないパラメータで関数を呼び出すと、他のパラメータは未定義になります価値。
コードをコピー コードは次のとおりです:

//Print function
function displayArray (arr)
{
if(!arr)return;
for(var num =0;num{
document.write("Num は " arr[num ] "t");
document.write(" " "
");
}
var array = [2,32,14,57] ,6] ;
function BringArray(from,/*optional*/to)
{
if(!to) to = [] //to = to||[] 効果は同じです
for (var element in from) //列挙を使用して配列を走査します
to.push(from[element]);//配列に要素を追加します
return to;//Return
}
var returnnumber = BringArray(array);//実行
displayArray(returnnumber);//印刷
//出力: Num は 2 Num は 32 Num は 14 Num は 57 Num は 6

5. 変数パラメータ (Arguments オブジェクト)
これを初めて見たとき、なぜパラメータが変化するのか、とても愚かでした。たとえば、関数が 3 つのパラメータを定義している場合、引数には定義したパラメータと同じデータセットが含まれます。
注: 引数識別子は関数本体内でのみ有効です。関数の属性として考えることもできます。

コードをコピー コードは次のとおりです:
function checkArgument(x,y,z)
{
if(arguments.length != 3) throw new Error("パラメータが一致しません"); //パラメータが正当かどうかを確認します。非常に便利です。
return x y z;
}

以下の例は数値の大小を比較する例であり、パラメータは変更可能です。

コードをコピー コードは次のとおりです。
function CompareMaxNumber()
{
var temp = Number.NEGATIVE_INFINITY //JavaScript の最小の複数の数値を表します
for(var arg=0;arg{
if(arguments[arg]> ;temp) temp = argument[arg];
}
return temp; //パラメータ内の最大の数値を返します
}
document.write(compareMaxNumber(2,34,5,23,766, 1000) "
");//ここには多くのパラメーターを指定できます。出力 1000

6. オブジェクトのプロパティをパラメーターとして使用します

コードをコピー コードは次のとおりです:
function displayArray(arr) //Print function
{
if(!arr) )return;
for(var num =0;num{
document.write("Num は " arr[num] "t"); 🎜>document.write(" " "
");
}
//
function copyArray(from,from_start,to,to_start,length)//配列をコピー
{
for(var i = from_start; i {
to.push(from[i]);//Filling
}
return to; >}
//getArray accept Object
function getArray(objarray)
{
//再度カプセル化し、copyArray を呼び出します
return copyArray(objarray.from,objarray.from_start ||0,objarray .to|| [],objarray.to_start ||0,objarray.length);//ここではちょっとしたトリックが使われています。
}
var arr1 = [1,2,3,4,5]
displayArray({from:arr1,length:4});
6. データとしての関数
コードをコピーします コードは次のとおりです:

関数add( x,y){return x y;}
function multiply(x,y){return x*y;}
function Cut(x,y){return x -y;}
operator( operator1,operator2,operator3)//3 つのパラメータを受け取り、関数をパラメータとして使用できます。
{
return Operator1(operator2,operator3);//実行は add();
}
document.write(operator(add,operator(multply,2,4),operator( Cut,12,2)));//出力 18

7. メソッドとしての関数

ここで述べる方法は、オブジェクトの属性に関数を格納するだけです。次に、属性を通じて関数を呼び出すと、関数を任意の変数に割り当てることができます。
コードをコピーします コードは次のとおりです。

var obj = {}; function display( ) //(something) with パラメータ
{
return "Love";//something;
}
obj.method = display;// オブジェクトの直接代入を使用します。
obj.method();//呼び出し。 obj.method("Love");

実際、JavaScript もこのキーワードを参照します。メソッドが呼び出されるオブジェクトが this の値であることを誰もが覚えておく必要があります。 Object.method(); ここで Object はオブジェクトであり、当然 this の値です。

コードをコピー コードは次のとおりです。
var privatename =
{name: "Frank" 、
年齢:21、
性別:'男性'、
display:function()
{document.write("私の名前は:" this.name "t 年齢 :" this.age )}};
privatename.display(); //出力名は次のとおりです: Frank age :21

8. コンストラクターは、次のプロパティを初期化します。 object 、および new 演算子で特に使用されるコンストラクター。 new 演算子はオブジェクトを作成し、コンストラクターを呼び出し、新しく作成したオブジェクトを this の値として渡し、値を割り当てます。 (理解できるように)



コードをコピー コードは次のとおりです。 function createProperty (name,version) //コンストラクター
{
this.name = name;
this.version = version;
}
var tools = new createProperty("Multply",1.0);初期化、ツール名、バージョン


9. 関数のプロパティを定義します。
グローバルな不変値を使用する必要がある場合は、関数のプロパティを使用すると便利です。オブジェクト (後で名前空間を作成します。クラスの属性は実際にはこれに固定されます)



コードをコピー コードは次のとおりです。 createNamespace.name = "360buy.define";
createNamespace.version = 1.2;
function createNamespace()
{
document.write("Namespace:" createNamespace.name "バージョン:" createNamespace .version);
}
createNamespace();//出力: 名前空間: 360buy.define バージョン: 1.2


10.および call()
これら 2 つのメソッドを使用すると、他のオブジェクトのメソッドを呼び出すのと同じように関数を呼び出すことができます。両方のメソッドの最初のパラメータは呼び出されるオブジェクトであり、次のパラメータは呼び出される関数のパラメータです。と呼ばれた。



コードをコピーします コードは次のとおりです。 function applyCallOperator(args,args2)
{
document.write(args "
");
}
var objpeople = {};
applyCallOperator.apply(objpeople.Frank,[3,4]) ;// applyCallOperator.call(objpeople.Frank,3,4) と同等です。 []
objpeople.Frank();


要約: この記事は次のようなものです。ここで共有します。 次へ この記事では、JavaScript クラスを実装します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。