1

我正在研究别人的 Javascript 来学习一些新概念,但有些东西我不明白。由于搜索符号相当困难,什么是

var s = {};

意思是?那是一个什么样的物体?之后,该人为对象声明了自定义属性,但我不知道他们从哪里获取这些属性。

s.JQ = null;
s.myUnsafeWindow = null;

我查找了所有关于 Javascript 中自定义类的文档,但找不到任何有助于理解这一点的内容。

如果无法从我提供的内容中获得答案,请告诉我,我将发布完整的代码。

4

3 回答 3

4

是什么var s = {};意思?

那是“分配对象的新实例(不给它任何额外的属性)”的对象文字语法。

我不知道他们从哪里得到这些属性

这两个语句正在创建它们。这些属性在评估之前不存在。

于 2013-04-01T14:34:22.480 回答
2

其他人都解释了该声明的含义以及属性的含义。

我想我会通过更深入一点来补充这一点。

var s = {};

是相同的:

var s = new Object;

javascript 对象上的dot符号以独特的方式运行。它将首先检查对象是否已经具有具有该名称的属性(javascript 对象中的属性必须具有唯一名称),如果存在,它将访问该属性。

所以如果我们这样做:

var s = {
    JQ : 'Jquery!'
};

然后这样做:

s.JQ == 'Jquery!'; //returns true
s.JQ = null;
s.JQ == 'Jquery!'; //returns false

如果对象没有该属性,但它会将该属性创建为对象的新属性。

因此,如果我们这样声明对象:

var s = {};

然后使用这两个属性

s.JQ = null;
s.myUnsafeWindow = null;

然后我们只看一下s我们会看到的对象:

s = {
    JQ : null,
    myUnsafeWindow : null
}

s现在有 2 个我们可以访问或修改的属性。

于 2013-04-01T14:50:18.120 回答
1

var s = {}声明s为空对象。然后,您可以随意附加属性。然后可以将这些属性访问为s.property

于 2013-04-01T14:34:37.473 回答