ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で関数を定義する 3 つの方法_javascript のヒント

JavaScript で関数を定義する 3 つの方法_javascript のヒント

WBOY
WBOYオリジナル
2016-05-16 16:10:09998ブラウズ

JavaScript の世界では関数を定義する方法がたくさんあり、これは JavaScript の柔軟性を反映しています。しかし、これこそが初心者、特に言語の基礎を持たない学生を混乱させる理由です。ことわざにあるように、すべての道はローマに通じていますが、道が多すぎると、旅行者はどの道を進むのが正しいのかわからなくなり、途方に暮れてしまいます(笑)、これは長い記事なのでやめましょう。それについて話します。最初にコードを見てみましょう:

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

/*最初の方法は、次の形式の関数ステートメントを使用することです*/
関数 fn(){
alert("これは function ステートメントを使用した関数定義です");
}
fn();

/*2 番目の方法は、Function() コンストラクターを使用して関数のクローンを作成することです*/
var F = new Function("a","b","alert(a b)");
F(a,b);

は実際には次のコードと同等です:
関数 F(a,b){
アラート(a b);
}

/*3 番目の方法は、関数リテラルを使用することです*/
var zhenn = function(){
alert("zhenn");
}
ジェン();

その中でも、「関数ステートメント」や「関数リテラル」を使って関数を定義する方法の方が一般的で分かりやすいと思われるので、ここでは詳しく説明しません。 Function() コンストラクターを使用するクローン関数は、通常、関数が複数のステートメントで構成されているため、文字列の形式でパラメーターとして渡されると必然的にコードが読みにくくなるため、使用されることはほとんどありません。

ところで、コンストラクターについて触れておきますが、実際には、コンストラクターは関数ではなく、単なる関数モデルであるようです。不適切な例を挙げると、コンストラクターは、遠くから見ても近くで見ても、完成したばかりの自動車に相当しますが、まだ給油されていません(使用する前に必要なステップを表します)。そのため、開始できません。この車を正常に動作させたい場合は、オイルを追加する必要があります。実際、このプロセスはコンストラクターのインスタンス化に相当します。そうしないと、正常に動作しません。この例を見てください:

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

function Fn(){ //コンストラクターを定義する
this.elem="ここでは function() コンストラクターを使用して関数を定義します、笑"; this.fn = function(){
alert("これは関数を定義するために function() コンストラクターを使用しています、へへ"); }
}
var f = new Fn() //インスタンス化
; アラート(f.elem);
f.fn();


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