【发布时间】:2016-10-26 19:03:55
【问题描述】:
这与Javascript a=b=c statements有关。
我明白
foo = foo.x = {n: b}; // console.log(foo) => {n: b}
但是
foo.x = foo = {n: b}; // console.log(foo) => {n: b}
应该等于:
foo = {n: b};
foo.x = foo; // console.log(foo) => {n: b, x:object}
我错过了什么吗?
【问题讨论】:
-
console.log(foo.x) 应该打印出同样的内容。
-
我收到一个错误“无法设置未定义的属性 'x'”
-
我看不出第一行是如何工作的,除非
foo已经引用了某个对象。 (实际上同样适用于第二个,尽管直觉上第二个“感觉”应该按原样工作。) -
你说它应该相等,没有任何理由。没有理由,因为陈述是错误的。 你能解释一下为什么你相信这个错误的东西?它有助于我理解为什么人们相信关于编程语言的错误信息。
标签: javascript