JavaScriptの関数呼び出し
呼ばれるJavaScript関数の4種類があります。
このモードの初期化、各異なる方法。
このキーワード
一般的には、JavaScriptで、これが実行される現在のオブジェクトの機能を指します。
これは予約語であることに注意してください、あなたはこの値を変更することはできません。 |
JavaScriptの関数呼び出し
前の節では、関数を作成する方法を学びました。
関数が呼び出された後に機能コードが実行されます。
関数呼び出しと
上記の関数は、任意のオブジェクトに属していません。 しかし、JavaScriptでは、それは常にデフォルトのグローバルオブジェクトです。
HTMLでは、デフォルトのグローバルオブジェクトは、HTMLページ自体であるため、機能はHTMLページの一部です。
ブラウザのページオブジェクトブラウザウィンドウ(ウィンドウオブジェクト)で。 機能の上に自動的にウィンドウオブジェクトの関数となります。
myFunction()とwindow.myFunction()は同じです。
例
* bを返します。
}
window.myFunction(10、2); // window.myFunction(10、2)20を返します
»をお試しください
これは、一般的に使用される方法は、JavaScript関数を呼び出しているが、それは良いプログラミング習慣グローバル変数、メソッドまたは競合のバグを命名引き起こす可能性の機能ではありません。 |
グローバルオブジェクト
関数はオブジェクトではありません自分自身を呼び出すとき?、この値はグローバルオブジェクトになります。
Webブラウザでは、ブラウザのウィンドウはグローバルオブジェクト(ウィンドウオブジェクト)です。
この戻り値の例は、ウィンドウオブジェクトです。
呼び出すためのグローバルオブジェクトとしての機能、 これはグローバルオブジェクトの値になります。 変数は、プログラムがクラッシュする可能性があるとして、ウィンドウオブジェクトを使用します。 |
メソッド呼び出しの関数として、
JavaScriptでは、あなたは、オブジェクトのメソッドとして定義された関数を使用することができます。
次の例では、オブジェクト(myObjectという)を作成し、オブジェクトには2つのプロパティ( 姓と名)、およびメソッド(のfullName)を有しています。
例
firstNameの "ジョン"、
lastNameの:「ドウ」、
fullName:関数(){
this.firstName + "" + this.lastNameを返します。
}
}
myObject.fullName(); //戻り「ジョン・ドウ」
»をお試しください
fullNameメソッドは関数です。 関数オブジェクトに属します。 myObjectという関数の所有者です。
このオブジェクトは、JavaScriptコードを持っています。 値は、 このオブジェクトインスタンスMyObjectに 。
次のテスト! フルネームは、 このメソッドと戻り値を変更します。
例
firstNameの "ジョン"、
lastNameの:「ドウ」、
fullName:関数(){
これを返します。
}
}
myObject.fullName(); //戻り、[オブジェクトのオブジェクト](オブジェクトの所有者)
»をお試しください
オブジェクトのメソッドの呼び出しなどの機能が、 これはオブジェクト自体の値になります。 |
コンストラクタ関数の呼び出しを使用します
関数は、 新しいキーワードを使用する前に呼び出された場合、コンストラクタが呼び出されます。
これは、新しい関数を作成するように見えますが、実際にはJavaScript関数は、オブジェクトの再作成されます。
例
ファンクションてmyFunction(ARG1、ARG2){
this.firstName = arg1に。
this.lastName = arg2に。
}
//これは、新しいオブジェクトを作成します。
VARのx =新しいてmyFunction(「ジョン」、「ドウ」)。
x.firstName; // "John"を返します
»をお試しください
新しいオブジェクトを作成するためにコンストラクタを呼び出します。 新しいオブジェクトは、コンストラクタのプロパティとメソッドを継承します。
コンストラクタこのキーワードは任意の値を持っていません。 この値は、関数呼び出し内のオブジェクト(新しいオブジェクト)のインスタンスを作成します。 |
メソッド呼び出し関数の関数として
JavaScriptでは、関数はオブジェクトです。 JavaScript関数は、その属性とメソッドを持っています。
()関数は、事前定義された方法であり、()を呼び出して適用します 。 どちらの方法は、関数を呼び出すために使用することができ、最初の引数の二つの方法は、オブジェクト自体でなければなりません。
例
* bを返します。
}
myFunction.call(myObjectという、10は、2); // 20を返します。
例
* bを返します。
}
myarrayの= [10,2]。
myFunction.apply(myObjectという、MyArrayという); // 20を返します。
どちらの方法は、最初のパラメータとしてオブジェクト自体を使用しています。 違いは、第二引数は、ということです:渡された適用されることには、渡された配列に結合した複数のパラメータで、パラメータの配列であり、その後、(第二引数の先頭から)を渡す呼び出しパラメータとして呼び出します。
JavaScriptの厳格モード(strictモード)では、最初の引数で関数呼び出しは、パラメータがオブジェクトでない場合でも、 この値になります。
最初のパラメータの値がnullまたは未定義の場合は、JavaScript以外厳格モード(非strictモード)で、それは代わりにグローバルオブジェクトを使用します。
この方法は、あなたが呼び出しで値を設定する()または適用()、およびすでに存在しているオブジェクトの新しいメソッドとして呼び出すことができます。 |