调用ES6中对象中的函数



尝试ES6时遇到以下示例:

var bob = {
      _name: "Bob",
      _friends: ["Pete", "Joe", "Larry"],
      printFriends() {
        this._friends.forEach(f =>
          console.log(this._name + " knows " + f));
      }
    }

控制台日志bob.printFriends()给出未定义。

您的代码

var bob = {
  _name: "Bob",
  _friends: ["Pete", "Joe", "Larry"],
  printFriends() {
    this._friends.forEach(f =>
      console.log(this._name + " knows " + f));
  }
}
bob.printFriends();

输出

"Bob knows Pete"
"Bob knows Joe"
"Bob knows Larry"
=> undefined

您看到undefined返回值的原因是printFriends没有return语句。

它对我有用。请看这个小提琴并检查控制台。您可能没有正确配置转发器。

https://jsfiddle.net/e7rb9e4o/

bob.printFriends();

输出:

Bob knows Pete
Bob knows Joe
Bob knows Larry

最新更新