js函式的四種呼叫方式以及對應的this指向

2022-04-02 04:44:46 字數 1038 閱讀 9937

一、函式呼叫,此時this是全域性的也就是window

1 var c=function()

4 c()//true

二、方法呼叫

var myobj=

} myobject.inc(1); //結果3,因為this指向myobj

注意:內部匿名函式不屬於當前物件的函式,因此this指向了全域性物件window

var myobj=,

tostring:function()]';

},getinfo:function())();

} }alert(myobj.getinfo());//[object window];

解決方法:

var myobj=,

tostring:function() ]';

},getinfo:function())();

} }alert(myobj.getinfo());//[object:myobject ]

三、用new關鍵字來新建乙個函式物件的呼叫,this指向被繫結到建構函式的例項上

var fn =function (status)

fn.prototype.get_status =function()

var test = new fn('my status');

alert(test.get_status);//my status,this指向test

function myobject(name);

this.tostring=function()]';

};this.target=this;

} function getinfo()

var myobj=newmyobject();

js種函式呼叫的四種方式

函式呼叫 this指向 window 返回值 由return值決定,如果沒有return語句就表示沒有返回值 案例1 function f1 f1 window 案例2 function f2 var f2n f2 f2n this window 這也是一次函式呼叫模式 案例3 functioon ...

函式的四種呼叫方式以及this指向

在es6之前,我們要看乙個函式內部的this到底是指向誰,那麼就要通過觀察函式是如何呼叫的,下面是函式的四種呼叫方式 函式呼叫 示例1 var age 18 var p var s1 p.say s1 函式呼叫由示例1可以知道函式呼叫方式的時候this是指向window。方法呼叫 示例2 var a...

js高階 函式呼叫的四種方式

function fn 1 直接呼叫 fn 2 當成構造函式呼叫 new fn 建構函式規範寫法為首字母大寫,此處只為說明問題 附加說明 建構函式的返回值情況 1 建構函式沒有手動新增返回值,返回建構函式的例項 2 建構函式返回基本資料型別的值,返回的還是建構函式的例項 3 建構函式返回物件型別的值...