簡體   English   中英

從子級訪問 JavaScript 對象中的根屬性

[英]Accessing root properties in JavaScript objects from children

我有一個 JavaScript 塊,其中this.id解析為undefined

控制台指示this解析為methods對象。 我原本以為它會解析為item 我的問題是,在我的buy方法中,如何訪問id屬性。 請注意,我不想將buy移出methods對象。 我正在努力理解這一點。

 const item = { id: 5, methods: { buy() { alert('buying item ' + this.id); console.log(this); } } }; const myButton = document.getElementById('myButton'); myButton.addEventListener('click', () => { item.methods.buy(); });
 <button id="myButton"> Buy </button>

您可以使用Function.prototype.call()作為item.methods.buy.call(item); item綁定到this

下面試試看。

 const item = { id: 5, methods: { buy() { alert('buying item ' + this.id); console.log(this); } } }; const myButton = document.getElementById('myButton'); myButton.addEventListener('click', () => { item.methods.buy.call(item); });
 <button id="myButton"> Buy </button>

暫無
暫無

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

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