普通函式中的this:
1. this總是代表它的直接呼叫者(js的this是執行上下文), 例如 obj.func ,那麼func中的this就是obj
2.在預設情況(非嚴格模式下,未使用 'use strict'),沒找到直接呼叫者,則this指的是 window (約定俗成)
3.在嚴格模式下,沒有直接呼叫者的函式中的this是 undefined
箭頭函式中的this
箭頭函式沒有自己的this, 它的this是繼承而來; 預設指向在定義它時所處的物件(宿主物件),而不是執行時的物件, 定義它的時候,可能環境是window; 箭頭函式可以方便地讓我們在 settimeout ,setinterval中方便的使用this
此時的 this繼承自obj, 指的是定義它的物件obj,(它所處的宿主物件obj) 而不是 window!
教程參考:
ES6 箭頭函式this指向問題
1.箭頭函式語法var a b c2.箭頭函式this 通過乙個例子 var obj test function settimeout this.func 1 obj.test 上面的 輸出結果為undefined。自上而下三次console.log this 的返回值 以此是 window obj...
ES6 箭頭函式及this指向詳解
箭頭函式相當於匿名函式,箭頭函式簡化了函式的定義,比函式表示式更簡潔,並且沒有自己的this,arguments。基礎語法 引數1,引數2,高階語法 箭頭函式的 this 箭頭函式沒有自己的 this,箭頭函式的 this 在定義函式的時候繫結,而不是在執行函式的時候繫結。html btn1 普通函...
es6箭頭函式
本例是在了解es6知識後在原來定義函式的基礎上進行理解var searchvalue 查詢匹配物件 var button var input var select button if searchvalue.input undefined button.click else 重新整理 tableli...