不要使用该window
方法。它仅适用于global
变量。
全局变量的定义与some_var = 10;
如果var some_var = 10;
您来自桌面编程背景相反,您会发现 JS 中的全局变量非常尴尬。
相反,使用命名空间或对象(此方法)。
像这样定义您的库存:
var inventory = {
goldfish: 10,
seahorse: 10,
jellyfish: 10
}
至于 HTML,id 的方法是可以的,但是为什么不使用data
属性呢?它可以容纳非常适合这种情况的元数据。
<img src="//placehold.it/32x32" class="item cookable" data-type="fish">
对此的访问是通过 .data 方法内置到 jQuery 中的,因此当您需要根据单击的内容减少或增加数量时,只需在必要时使用以下命令:
// Fetch the "type" of fish from the data attribute
var type = $(this).data("type");
// And update the inventory
inventory[type]--;
将data
属性用于其他元数据,以便data-foo="hello" data-bar="world"
这些可以使用 jQuery 作为对象获取.data()
,它会返回{foo: "hello", bar: "world"} or fetch them individually by passing the data name
.data("foo")`
就个人而言,我会使用它而不是 ID。