呼叫模式如何影響JavaScript 中的「this」關鍵字
使用JavaScript 時,您可能會遇到與「this」相關的異常行為"函數定義中的關鍵字。沒有像傳統的類別那樣的類別是至關重要的物件導向的語言。 🎜>
呼叫模式和「this」「thi s」的值取決於函數的呼叫方式,稱為呼叫模式。有四種主要模式:
1。作為方法:當函數作為對象的方法呼叫時,「this」綁定到物件本身。 🎜>
2。對象。 >範例:3.作為建構子:
// foo is the object foo.bar = function() { alert(this); }; // "this" is bound to the foo object foo.bar();
使用「new」關鍵字調用,「this」綁定到新建立的物件。 :
4.使用Apply方法:函數的「apply」方法可讓您明確定義「this」的值以及參數。
// Global function var baz = function() { alert(this); }; // "this" is bound to the window object baz();
範例:
意外行為注意事項:如果用作回調的內部函數以與其定義不同的模式調用,則可能會出現「this」行為的不一致。物件文字表示法定義方法時經常會遇到這種情況,其中內部函數將回調作為函數調用,導致“this”綁定到全局對象而不是預期對象。 「var that = this」模式被廣泛使用。
以上是呼叫模式如何影響 JavaScript 中的「this」關鍵字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!