javascript - 这个初始化有什么作用? = {}

标签 javascript

<分区>

我看过以下内容:

var field = {};
field.tf = $("#textfield");
field.date = $("td#CurrentDate");
field.name = $("input#myname");

初始化var field = {}有什么作用? 它是否创建了一个可以动态设置属性 (field.tf) 的通用对象(字段)?

最佳答案

除了标准的 NumberStringBoolean 之外,JavaScript 有许多不同的文字语法,这些语法在其他语言中很常见:

foo = {};

等同于:

foo = new Object();

同时

foo = [];

等同于:

foo = new Array();

foo = /foo/;

等同于:

foo = new RegExp('foo');

这些文字语法有它们自己的怪癖和细微差别。对于对象,键值对以逗号分隔,键和值以冒号字符分隔:

foo = {
    bar: 'baz',
    fizz: 'buzz'
};

相当于:

foo = new Object();
foo.bar = 'baz';
foo.fizz = 'buzz';

对于数组,数组成员简单地以逗号分隔:

foo = ['bar', 'baz'];

相当于:

foo = new Array();
foo.push('bar', 'baz');

请注意,对于数组,构造函数有一个缺陷。 new Array(1, 2, 3) 等价于[1, 2, 3],但new Array(3) 不等价到 [3],它等效于 [undefined, undefined, undefined](大小为 3 的数组,没有成员)。

这种方便的初始化结构,以及对象和数组相互嵌套的能力是导致 the JSON data interchange format 形式化的原因。

关于javascript - 这个初始化有什么作用? = {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18639634/

相关文章:

javascript - 禁用页面上具有特定值的所有选择选项 - Javascript

javascript - 使用 javascript 设置 div 框的大小

javascript - 使用 javascript 将超链接 URL 列为脚注

javascript - 从 Knockout 发布到 ASP.NET MVC Controller

javascript - react : Removing a class styling after componentWillUpdate

javascript - 使用 jQuery 从 HTML 解析时间数据

javascript - Toastr 通知未显示在右下角

javascript - 组合日期格式变量和函数 (jquery/Javascript)

javascript - 使用javascript从IE8中的地址栏中查找当前url

javascript - 在我的 Carousel Slider 的左侧和右侧获得灰色。怎样去除灰色?