機能の4つの形式の存在:
1。機能的な形態
2。メソッドフォームは、メソッドと呼ばれる特定のオブジェクトのメンバーに関数を割り当てます。
3。コンストラクターの形状
4。コンテキスト形式
1。機能フォーム:
var foo = function(){alert(this); //これはウィンドウです};2。メソッドフォーム:
o = {}; o.foo = foo; // object object obsion of.foo()のfoo属性に関数fooを割り当てます。 //オブジェクトがポップアップすると、これはオブジェクトを表しますvar lib = {test:function(){alert(this); //これはオブジェクト(libオブジェクト自体)を表します// var that = this; //これを匿名関数でlibオブジェクトを表したい場合、これを行うことができます(function(){alert(this); //ここの匿名関数はlibオブジェクトに属していないため、これはまだウィンドウを表します})(); }}; lib.test();3。constructor(constructor)var p = new person();
1.新しいオブジェクトを作成し、スペースを開きます
2。オブジェクトの参照アドレスを関数に渡し、関数でこれを受け取ります。
3.構築方法の実行が終了し、これを返します
var person = function(){this.age = 19; this.name = "mrjing"; return "{}";}; var p = new person(); alert(p.name); //ポップアップは未定義です。関数はオブジェクトを返すため、オブジェクトは人に直接返され、年齢と名前属性は無視されますvar person = function(){this.age = 19; this.name = "mrjing"; return 123;}; var p = new person(); alert(p.name); //「Mrjing」がポップアップします。返品値はオブジェクトではないため、返品値アラート(p); //オブジェクトをポップアップします変更されたものは次のとおりです。コンストラクターは関数の返品値を変更します。関数の返品値がオブジェクトである場合、返品値に従って戻ります。返品値がオブジェクトではない場合は、返品値を無視し、これを直接返します。
4。コンテキストコールパターンfunction.Apply(object、[パラメーターリスト])
var foo1 = function(a、b){alert(this); a> bを返しますか? a:b;}; var num = foo1.apply(null、[112、34]); //この時点でFoo1は関数形式です。これは、Windownum = foo1.apply({}、[112、34])を意味します。 //この時点でFoo1はメソッドフォームであり、これはパラメーター{}に渡されたオブジェクトを意味しますfunction.call (オブジェクト、パラメーターリスト);
var num1 = foo1.call(null、112,34); num1 = foo1.call({}、112,34); //パラメーターリストを除いて、残りは適用と同じです上記の記事では、JavaScript関数の4つの形式について簡単に説明します。これは私があなたと共有するすべてのコンテンツです。参照を提供できることを願っています。wulin.comをもっとサポートできることを願っています。