这个变量类型叫什么?

时间:2014-04-16 11:23:08

标签: javascript

我正在查看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++;

等等。如果有人对此类变量有任何信息,那么我将非常感激:)

5 个答案:

答案 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.colorcar.wheels访问汽车的参数。

您可以在此处阅读更多内容:http://www.w3schools.com/js/js_objects.asp