当前位置: 首页 > 知识库问答 >
问题:

函数方法。应用()。调用()。绑定()

潘高洁
2023-03-14

我需要帮助解决这个问题;

let person = {
  firstname: "Benjamin",
  dog: {
    named: "Louie",
    owner: function() {
      return this.named + " is " + this.firstname + "'s dog'";
    }
  }
}

console.log(person.dog.owner.call(person)); // prints undefined is Benjamin's dog' instead of Louie is Benjamin's dog'

我知道call()方法将引用没有属性命名的人对象。

有没有办法使用bind()call()或apply()方法打印“Louie是Benjamin的狗”

共有3个答案

蒋泰
2023-03-14

该函数要求对象具有firstnamenamed属性。

实现你想要的(不改变函数)的唯一方法是创建一个拥有它们的新对象,并将其传递给你提到的函数之一。

console.log(person.dog.owner.call({ firstname: "Benjamin", named: "Louie" }));
沈畅
2023-03-14

这个。命名的应该是this。狗命名,因为命名属性位于dog对象内。

在这里检查:

let person = {
  firstname: "Benjamin",
  dog: {
    named: "Louie",
    owner: function() {
      return this.dog.named + " is " + this.firstname + "'s dog'";
    }
  }
}
console.log(person.dog.owner.call(person));
邓季
2023-03-14

您的名为的键位于dog下。所以叫它this.dog.named

let person = {
  firstname: "Benjamin",
  dog: {
    named: "Louie",
    owner: function() {
      return this.dog.named + " is " + this.firstname + "'s dog'";
    }
  }
}

console.log(person.dog.owner.call(person));
 类似资料:
  • 问题内容: 对不起任何较小的语法错误或其他错误,我正在使用Jitsi模块进行此操作,并且对Java不太熟悉,因此想确认正在发生的事情以及为什么以及如何对其进行修复。 使用按名称加载类方法创建类B的实例时,应用程序正在执行此操作: 在类B中调用重写的load() 初始化变量(根据调试器调用“私有字符串testString = null”),将其无效。 这是预期的Java行为吗?是什么原因造成的?它是

  • 本文向大家介绍JS随机调用指定函数的方法,包括了JS随机调用指定函数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS随机调用指定函数的方法。分享给大家供大家参考。具体如下: 本代码通过随机定时器调用指定函数,可达到间隔随机时间之行指定的函数的目的 希望本文所述对大家的javascript程序设计有所帮助。

  • 为什么编译器让这个表达式编译,而运行时异常是不可避免的? 我认为< code >动态绑定不应该用于void方法 如果C#规范将上述表达式引用为动态绑定表达式,为什么不编译以下方法?

  • 问题内容: 我之所以问这个问题,是因为对该答案的评论主题进行了讨论。我有90%的方法可以解决问题。 存在三种不同形式: 绑定方法 , 未绑定方法 和 函数 对象之间的区别是什么,所有这些都由f1描述?一个人怎么称呼这三个物体?它们如何相互转化?关于这些东西的文档很难理解。 问题答案: 一个 功能 是创建由声明,或通过。在Python 2下,当函数出现在语句主体中(或传递给类构造调用)时,它将转换为

  • 本文向大家介绍JavaScript中5种调用函数的方法,包括了JavaScript中5种调用函数的方法的使用技巧和注意事项,需要的朋友参考一下 这篇文章详细的介绍了Javascript中各种函数调用的方法及其原理,对于理解JavaScript的函数有很大的帮助! JavaScript,调用函数的5种方法 一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascri

  • 本文向大家介绍node.js调用C++函数的方法示例,包括了node.js调用C++函数的方法示例的使用技巧和注意事项,需要的朋友参考一下 目前nodejs调用c++主流的有两种方法,分别是addons和ffi addons是nodejs官方的c++扩展实现方案,但是由于需要使用模版,并且要对v8引擎有一定的了解,入门门槛较高。 ffi是nodejs直接调用so库的一种实现,可以调用纯c的接口。