javascript - 我可以在 JavaScript 中的对象声明期间引用其他属性吗?

标签 javascript

<分区>

我正在尝试做这样的事情:

var obj = {
    a: 5,
    b: this.a + 1
}

(而不是 5 有一个函数,我不想执行两次返回一个数字)

我可以重写它以稍后从 obj.a 分配 obj.b,但我可以在声明期间立即这样做吗?

最佳答案

没有。 JavaScript 中的 this 并不像您想象的那样工作。 this 在这种情况下指的是全局对象。

this 值只有 3 种情况被设置:

函数案例

foo();

这里 this 将引用 global 对象。

方法案例

test.foo(); 

在此示例中,this 将引用 test

构造器案例

new foo(); 

new 关键字开头的函数调用充当构造函数。在函数内 this 将引用一个新的 创建了对象

在其他地方,this 指的是全局对象。

关于javascript - 我可以在 JavaScript 中的对象声明期间引用其他属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4618541/

相关文章:

javascript - 如何在移动设备上触发 Mousedown/Mouseup?

javascript - 从 Kendogrid 的选定项目中提取日期

javascript - 使用 md-virtual-repeat 动态加载字体

php - 使用发布数据打开新窗口(PHP、Javascript)

javascript - 如何在 javascript 中访问 JSON.parsed 对象

javascript - 自动刷新div内容,由jquery加载包含ajax调用

javascript - 如何匹配可能有或没有后缀的 JS 正则表达式

javascript - 在 Firefox 中访问 FileReader 的部分结果

javascript - 在 Vue 中获取模板作为字符串

javascript - 无法使用 javascript 获取动态删除/编辑 HTML 表的值