簡體   English   中英

內部 Function 中的此關鍵字不起作用 (Javascript)

[英]This keyword in an Inner Function not working (Javascript)

所以我試圖理解 javascript 中的this關鍵字和內部函數。 我有一個帶有this關鍵字的內部 function 但它returning "my hobby is undefined"

我怎樣才能讓它返回"my hobby is programming"

這是我嘗試過但沒有用的方法:

 function practice() { function close() { console.log(`my hobby is ${this.hobby}`) } return close() } let person = { hobby: "programming" } let binding = practice.bind(person) console.log(binding())

你內心的 function 應該是一個箭頭 function 因為一個普通的會覆蓋this上下文:

 function practice() { const close = () => { return `my hobby is ${ this.hobby }` } return close() } let person = { hobby: "programming" } let binding = practice.bind(person) console.log(binding())

希望對您有所幫助!

因此,您需要將數據綁定到 function內部的內部 function 以及將它們綁定到外部數據。 見下文:

 function practice() { function close() { console.log(`my hobby is ${this.hobby}`) } let binding2 = close.bind(this) return binding2() } let person = { hobby: "programming" } let binding = practice.bind(person) binding()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM