Js普通函式中this和箭頭函式中this

2022-05-11 03:56:46 字數 1019 閱讀 1607

//this的意思是「我的」,如我的名字叫張三,我的名字叫李四。每個人都可以用「我的」

//張三說我的,那麼「我的」就代表張三,李四說我的,那麼「我的」就代表李四

var name = "張三";

function a()

a(); //完整寫法,windows.a(); this指向的是windows物件,列印的為張三

var name="張三";

var obj =

}obj.a(); //完整寫法,windows.obj.a(); this指向為obj物件,列印的為李四

//為什麼this不是指向的windows,因為this只會指向上一級的物件

//0.箭頭函式為es6中新語法

作用域是函式級的

//2.該函式所在的作用域指向的物件

//3.箭頭函式不會建立自己的this,它只會從自己的作用域鏈的上一層繼承this

var name ="張三";

var obj =

}obj.a();//輸出的是張三,因為this所在作用域的上一級作用域是windows

var name ="張三";

var obj =

return f;}}

var f = obj.a();

f(); //輸出的是李四,因為this所在作用域的上一級作用域是a函式,該函式所在的作用域指向的物件是obj

//1.對於需要使用object.method()方式呼叫的函式,使用普通函式定義,不要使用箭頭函式。物件方法中所使用的this值有確定的含義,指的就是object本身。

//2.其他情況下,全部使用箭頭函式。

js箭頭函式和普通函式的區別

1.不繫結this 在箭頭函式出現之前,每個新定義的函式都有其自己的 this 值 var myobject double function myobject.double 希望value乘以2 myobject.getvalue 1在ecmascript5中將this賦給乙個變數來解決 var m...

JS複習 6 普通函式和箭頭函式

普通函式 leta functionf 箭頭函式 letb 區別 this的指向不同 let obj 2.箭頭函式中的this指向的是函式定義位置上下文的this f2 obj.f1 obj obj.f2 window箭頭函式中的this會向外層作用域一層一層的查詢const ccc settime...

js中箭頭函式和普通函式this的區別

最近在學習angularjs的時候由於裡面涉及到了箭頭函式,箭頭函式除了宣告上有點區別以外,和普通函式最主要的區別還是在this的問題上。js中函式中巢狀的函式this不會 繼承 比如說以下 1 var o 5function outer 7 function inner 10 11 outer.c...