[英]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.