javascript - Coffeescript/Javascript - 为什么对象属性未定义?

标签 javascript coffeescript

我在 Rails 3.1 项目中使用了这个函数:

setPosition: (object) ->
    console.log object
    console.log object.width
    object["position"] = [500, 50] 
    this

console.log 对象 给出

Object
    height: 600
    position: Array[2]
    title: "Banner for Creative"
    width: 160
    __proto__: Object

但是 console.log object.width 是未定义的。为什么?

最佳答案

几天前我回答了一个类似的问题:https://stackoverflow.com/a/8299394/66226

基本上,console.log 具有一些异步行为(在某些环境中)。因此,当您传入对对象的引用时,该对象稍后会被字符串化——而 object.width 现在是 undefined

如果你这样做

console.log object.toString()

那么您应该会得到更一致的结果(尽管不太漂亮)。

编辑:或者更好的是,

console.log JSON.stringify(object)

请参阅下面的评论。

关于javascript - Coffeescript/Javascript - 为什么对象属性未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335856/

相关文章:

javascript - coffeescript 排序不正确

javascript - 丑陋的 JavaScript - 进一步优化

javascript - VueJS mustache 数据绑定(bind)不起作用。我该如何调试这个?

coffeescript - 如何将 jest 与 CoffeeScript 和 ES6/ES2015 一起使用(例如通过 Babel)?

CoffeeScript 中的 Node.js module.exports

javascript - 有没有办法将 CoffeeScript 发送到客户端的浏览器并将其编译为 JavaScript *那里*?

javascript - 如何转义 HTML

javascript - 逐项滚动轮播

javascript - 销毁免费墙实例

coffeescript - 如果我决定什么都不做,我从 Gulp 任务中返回什么?