javascript - 为什么 ?函数的对象参数返回未定义的 JS

标签 javascript function object constants return-value

In this query, i've have small doubt i need to know WHY?

我们正处于#lockdown状态,而我的一个兄弟padu问了这个问题。下面我有示例对象,其中有函数,同时直接调用其返回1,但分配为const并作为函数访问返回未定义。有人有任何解释将真正有助于提高我的知识。

const apple = 3;
const data = {
  apple: 2,
  bag: {
    apple: 1,
    plastic: function(){
      return this.apple;
    }
  }
}
const plastic = data.bag.plastic;
console.log(plastic())             **//Result - undefined**
console.log(data.bag.plastic())    **//Result - 1**

谢谢

戈帕尔.R

最佳答案

您正在搜索bind()

const apple = 3;
const data = {
  apple: 2,
  bag: {
    apple: 1,
    plastic: function(){
      return this.apple;
    }
  }
}
const plastic = data.bag.plastic.bind(data.bag);
console.log(plastic())           
console.log(data.bag.plastic())   

关于javascript - 为什么 ?函数的对象参数返回未定义的 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61025173/

相关文章:

javascript - cakephp中jquery表单验证和模型验证之间的区别?

Javascript 函数作用域

c - 函数分配给C中的变量

javascript - 如何在css中隐藏带有滑动效果的li

javascript - Selenium webdriver 中 Javascript 函数的返回值

javascript - JavaScript 中数组排序不正确

java - 截断大对象图的设计模式

sql - 我们可以将表上的触发器限制为仅根据它调用的函数执行插入吗? (PostgreSQL)

Python:如何根据同一实例的另一个属性的 bool 值自动更改实例的属性?

javascript - 如何在 JS [或 jQuery] 中合并少量 3D JSON 对象