ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で名前付き関数を呼び出す 4 つの方法 推奨ページ 1/3_JavaScript スキル
4 つのメソッドの実行結果に違いはありません。ただし、関数に戻り値がある場合、new で呼び出すと少しがっかりするかもしれません。
1. () 括弧演算子 最も一般的に使用されるのは、関数を呼び出すための () 演算子です。
コードをコピーします コードは次のとおりです。 🎜>
//パラメータなし function fun1
function fun1() {
alert('呼ばれました')
}
fun1()
/ / 関数 fun2 とパラメータ
function fun2(param) {
alert(param)
}
fun2('呼ばれました')
ECMAScript 3 の後の Function に call と apply を追加した後、
には 2 つのタイプがあります。 2. call
コードをコピー コードは次のとおりです:
//パラメータなし function fun1
function fun1() {
alert('呼ばれました')
}
fun1.call(null); //関数 fun2 とパラメータ
function fun2(param) {
alert(param);
}
fun2.call(null,'呼ばれました')
3.
コードをコピーします
//パラメータなし function fun1
function fun1 () {alert('呼び出されました');
}
fun1.apply(null)
//パラメータ function fun2
function fun2(param); 🎜>alert(param);
}
fun2.apply(null,['I was 電話を受けた'])
4. 使用は推奨されませんこのメソッド
)
コードをコピーします コードは次のとおりです:
//パラメータなし function fun1 function fun1 ( ) { alert('呼ばれました');
}new fun1();
//関数 fun2 パラメータ
function fun2(param) {
alert(param);
}
new fun2('I was 電話を受けた')
ok、上記の呼び出しメソッドから、4 つの実行メソッドがあります結果に違いはありません。ただし、関数に戻り値がある場合、new で呼び出すと少しがっかりするかもしれません。
コードをコピー
コードは次のとおりです。
//関数 fun と戻り値 function fun() { alert( '呼ばれました');
return "ジャック" >}
var c = new fun();//[オブジェクト オブジェクト] 、なぜ「ジャック」ではないのでしょうか?
これに変更しました。
コードをコピーします
/ /戻り値があります Function fun
alert('呼ばれました') return {name:'jack'}
; var c = new fun();alert(c.name);//jack、再び正常に返されました
要約すると、new メソッドを使用して関数を呼び出すときです。戻り値がある場合、戻り値がString、Number、BooleanなどのJavaScriptの組み込み型(基本型)の場合、戻り値がオブジェクト、関数の場合は値を返しません。 、配列およびその他のオブジェクト型の場合、オブジェクト、関数、配列が返されます。
戻り値が組み込み型(基本型)の場合、new fun()は一体何を返すのでしょうか?次の記事では、新しいメソッド呼び出しの詳細について説明します。