Nee*_*eel 0 javascript arrays variables curly-braces angularjs
我试图为变量添加一个初始空值,我不明白这些之间的差异:
var question = '';
var question = {};
Run Code Online (Sandbox Code Playgroud)
在为变量定义空值时使用大括号和引号有什么区别?
这两个都是文字语法的例子.这意味着您可以定义一个初始化其值的数据类型.这是在JavaScript中定义数据的最常用方法.
第一个创建一个string没有字符的类型.引号只是表示字符串打开和关闭的语法的一部分.它们不是结果数据的一部分.
字符串是不可变的,因此不可能将字符添加到您创建的字符串中,但您可以使用该变量保存的新字符串替换它.
使用字符初始化的字符串示例如下:
var question = "Who is John Galt?";
Run Code Online (Sandbox Code Playgroud)
结果字符串包含引号之间的字符.同样,引号不是结果的一部分.它们仅表示用于创建字符串的文字语法.
第二个创建一个object不包含成员的类型.同样,花括号只是表示文字语法的开头和结尾.它们与对象中包含的实际数据无关.
一个对象可以被变异(除了在某些现在不相关的情况下).因此,您可以通过以各种方式添加属性来更新此对象的成员.
使用成员初始化的对象的示例是:
var question = {
firstName: "John",
lastName: "Galt"
};
Run Code Online (Sandbox Code Playgroud)
生成的对象拥有两个成员并继承了一些成员.成员是键/值对,其中键最终表示为字符串(虽然这里我们使用属性标识符语法,表示有效键的子集),并且值可以是任何JavaScript数据类型(在此示例中,我使用字符串文字语法来定义字符串值).