我正在查看CivClicker game代码,我发现他创建了带有少量子变量的变量"在里面。它对我来说看起来不像是一个阵列。
变量初始化的一个例子:
// Initialise Data
var food = {
name:'food',
total:0,
increment:1,
specialchance:0.1
},
wood = {
name:'wood',
total:0,
increment:1,
specialchance:0.1
},
stone = {
name:'stone',
total:0,
increment:1,
specialchance:0.1
},
skins = {
name:'skins',
total:0,
},
他后来使用以下方法调用变量:
food.total++;
等等。如果有人对此类变量有任何信息,那么我将非常感激:)
答案 0 :(得分:1)
这些是JavaScript对象。 { .. }
语法称为文字表示法,是创建对象的一种方法。大括号之间的属性是属性,如果值是函数,则为方法。
使用简写var
语法创建对象,这与重复var
相同:
var a = {}, b = {};
// same as
var a = {};
var b = {};
还有其他创建对象和设置属性的方法,例如:
var food = new Object();
food.total = 0;
food['name'] = 'food';
您还可以实例化一个函数来创建一个对象,该函数就像一个类。
function Food {
this.total = 0;
this.name = '';
}
var f = new Food();
f.total = 5;
f.name = 'abc';
MDN Working with objects是一个很好的资源,涵盖了这一点。
答案 1 :(得分:0)
console.log(typeof {test: 0});
会给你"对象"
答案 2 :(得分:0)
您发布的代码显示4个对象,在这种情况下,属性总数将是一个数字。
答案 3 :(得分:0)
{
name:'food',
total:0,
increment:1,
specialchance:0.1
}
木有
{
name:'wood',
total:0,
increment:1,
specialchance:0.1
}
在JavaScript中,可以用这种方式初始化多个变量。
此处有更多信息 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/var#Examples
编辑:此answer中的评论提供了这样做的一些好处。
答案 4 :(得分:0)
这些是对象。
在编程中,您可以定义自己的对象来存储有关特定事物的信息。
即。如果您需要使用代码存储有关汽车的信息,您可以创建以下对象,其中包含一组描述汽车的参数或变量。
car = {
color = "red",
type = "sports car"
wheels = 4
}
这样做的目的是使组织信息更容易,即您可以使用car.color
或car.wheels
访问汽车的参数。
您可以在此处阅读更多内容:http://www.w3schools.com/js/js_objects.asp