javascript - 在对象中使用 this 时出现 TypeError

标签 javascript this

你能解释一下为什么这段代码会返回这个错误TypeError: this.b is not a function:

var a = {
  b: function() {
    return 1;
  },
  c: this.b()
}

最佳答案

因为在对象a初始化时,this指向的是window对象,只有在构造函数中this才会在正在创建新对象。

试试这个了解更多信息。

var a = {b: function() {return 1;}, c: this}
console.log(a.c) //output is window object

关于javascript - 在对象中使用 this 时出现 TypeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32926426/

相关文章:

javascript - 回流/重绘问题?优化太慢的应用程序

javascript - 使用 javascript 将链接推送到 html 中

javascript - 获取函数调用者作用域

Javascript发送 "this"对象作为参数

javascript - 每个,attr,还是这个?

javascript - 焦点仅显示一个元素

JavaScript `this` 在不同的类方法中工作不同

javascript - 连续 JS slider

Javascript 脚本元素集内部文本

javascript - 在 NVD3 中按另一比例绘制一张图表