函式的四種呼叫模式

2022-03-07 17:15:32 字數 1436 閱讀 4765

總結筆記,參考文件

1  函式模式

最普通的函式呼叫

1

//宣告式函式

2function

fn1 () 5//

函式表示式函式

6var fn2 = function

() ;9//

呼叫 函式中this表示全域性物件,在瀏覽器中就是指window

10 fn1(); //

window

11 fn2(); //

window

2 方法模式

函式依附於乙個物件,是物件的乙個屬性,我們再呼叫這個函式。這種模式就是方法呼叫模式。

1

var obj =6};

7 obj.sayhi(); //

obj物件

3 構造器呼叫模式

即是建構函式的呼叫,一般是通過new + 函式名( )

這種模式和以上的方法模式沒本質的區別

1

function

person() {}

2var tom = new person(); //

這就是構造器函式的呼叫 34

//構造函式呼叫的詳細過程5//

1 會在內部建立乙個物件o6//

2 給物件賦值(this), 然後執行各種操作7//

3 返回這個物件o89

10//

建構函式的返回值:

11//

12//

有乙個預設的返回值,新建立的物件(例項);

13//

當手動新增返回值後(return語句):

14//

1. 返回值是基本資料型別-->真正的返回值還是那個新建立的物件(即例項)

15//

2. 返回值是複雜資料型別(物件)-->真正的返回值是這個物件

4 上下文模式

本質--物件借用不屬於該物件的方法(函式),即我們自定義this的指向

1

()2//

3//45

//第乙個引數控制this的指向,第二個引數:

6 在使用 上下文呼叫的 時候, 原函式(方法)可能會帶有引數, 那麼這個引數在上下文呼叫中使用 第二個( 第 n 個 )引數來表示

1

//偽陣列

2var o=;34

//讓o物件借用陣列的push方法來新增元素5//

.push.call(o,30,50,70)

7 console.log(o);//

其中物件o中length屬性的值也會改變的哦

函式的四種呼叫模式

函式的四種呼叫模式 1 函式模式 特徵就是乙個簡單的函式呼叫,函式名前面沒有任何的引導內容 this含義 this在函式模式中表示全域性物件,在瀏覽器中是windjow物件 2 方法模式 特徵方法一定是依附與乙個物件,將函式賦值給物件的乙個屬性,那麼就成為了方法 this含義 this在方法模式呼叫...

函式四種呼叫模式以及this指向

第一種 函式執行模式 function add a,b add this window true第二種 物件方法的呼叫模式 function cat var c new cat c.show 物件呼叫自己的方法 this c 呼叫事件響應的方法都是,物件方法呼叫模式第三種 構造器的呼叫 functi...

函式的四種呼叫模式及this指向

一.根據函式內部this的指向不同,可以將函式的呼叫模式分成4種 函式呼叫模式 方法呼叫模式 構造函式呼叫模式 上下文呼叫模式 借用方法模式 首先先來分析this指向問題 1.任何函式都有屬於自己的this 2.this的指向和函式的呼叫模式相關,意味著this的指向在函式宣告的時候確定不了.然後分...