NaN*_*NaN 5 javascript boolean javascript-objects
我想编写一些具有不同转换的状态机.但是当我想要选择一个项目时,会发生一些奇怪的事情.
var transitions = {
"on": {
"false":"true",
"true":"false"
}
}
Run Code Online (Sandbox Code Playgroud)
最后两行是非常有趣的 - 相同的索引,第一个hardcoded和第二个存储在一个变量中.为什么第一个返回正确的结果(false)而另一个未定义?
console.log(attr); // on
console.log(transitions[attr]); // Object { false="true, true="false" }
console.log(current_val); // "true"
console.log(typeof current_val); // string
console.log(transitions[attr]["true"]); // false
console.log(transitions[attr][current_val]); // undefined
Run Code Online (Sandbox Code Playgroud)
info:我使用的是FF 14.0.1
请注意console.log(current_val);输出"true"到控制台。由于console.log不打印引号,因此一定是current_val包含 的情况'"true"',这与 不同"true"。
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |