要討論this,就一定要與函式一起討論。
普通函式
中,this
所表示的意義與他所處的環境有關。環境屬於誰,this就指代誰。
觀察列印結果,你會發現this.age沒有值
,列印結果是nan,表示沒有age的值不是乙個number型別,無法自增加一。
function
person()
,1000);
}var o =
newperson()
;
在obj這個物件中,obj的屬性 talk 是乙個方法,觀察列印結果,你會發現 talk 中的 this.name 列印結果是ifredom
,因為talk中的this表示的是obj
// 在obj這個物件中,obj的乙個屬性talk是乙個方法,
// 在這個方法內, `this`表示的是obj 它自己.
var obj =};
obj.
talk()
;
我們將前面提到的普通函式中的定時器改為箭頭函式,觀察列印結果,你會發現this.age有值
。
function
person()
,1000);
}var o =
newperson()
;
我們新增乙個屬性talk2,它與talk一樣都是屬性方法
,但是它的方法是乙個箭頭函式,觀察列印結果,你會發現talk2中的this.name是undefined
,因為talk2中的this表示的是window
var obj =
, talk2:()
=>};
obj.
talk()
; obj.
talk2()
;
js箭頭函式
let func1 console.log func1 箭頭函式 入參為乙個時候可以省略括號 出值為乙個的時候可以省略 letfu2 x x x 函式體內的this物件,就是定義時所在的物件,而不是使用時所在的物件。this物件的指向是可變的,但是在箭頭函式中,它是固定的。var id 21 fun...
js箭頭函式
箭頭函式表示式的語法比函式表示式更簡潔,並且沒有自己的this,arguments,super或new.target。箭頭函式表示式更適用於那些本來需要匿名函式的地方,並且它不能用作建構函式。1 基礎語法 param1,param2,paramn param1,param2,paramn expre...
js 箭頭函式
箭頭函式的使用,我們在做vue或者angular專案的時候,定義的函式,很多時候會有作用域的問題,特別是在進行非同步請求的時候,就必須使用到箭頭函式 最簡單的箭頭函式 function change res 相當於 function change res 非同步請求使用箭頭函式 this.axios...