我在javascript项目中找到了一些源代码,但无法理解如下代码的一部分:
keystate= {};
document.addEventListener("keydown", function(event) {
**keystate[event.keyCode] = true;**
});
document.addEventListener("keyup", function(event) {
delete keystate[event.keyCode]
});
我不明白的第一个问题是在声明对象之后出现的括号,特别是" = true"手段?一个更加暧昧的问题是:这是OOP(面向对象编程)的一部分吗?
答案 0 :(得分:2)
方括号只允许你access a property将其名称放在一个字符串中(而不是像点符号中那样使用标识符)。
true
是boolean literal。
这些都是等价的。
foo.bar = "something";
foo["bar"] = "something";
var property = "bar"; foo[property] = "something";