我有这个函数,我在Rails 3.1项目中使用它:
setPosition: (object) ->
console.log object
console.log object.width
object["position"] = [500, 50]
this
console.log object
给出了
Object
height: 600
position: Array[2]
title: "Banner for Creative"
width: 160
__proto__: Object
但console.log object.width
未定义。为什么?
答案 0 :(得分:3)
我几天前回答了类似的问题:https://stackoverflow.com/a/8299394/66226
基本上,console.log
有一些异步行为(在某些环境中)。因此,当您传入对象的引用时,该对象将在以后进行字符串化,而object.width
现在为undefined
。
如果你这样做
console.log object.toString()
那么你应该得到更一致的结果(虽然不那么漂亮)。
编辑或者更好,
console.log JSON.stringify(object)
见下面的评论。