Javascript 此初始化的作用是什么?={}

Javascript 此初始化的作用是什么?={},javascript,Javascript,我看到了以下情况: var field = {}; field.tf = $("#textfield"); field.date = $("td#CurrentDate"); field.name = $("input#myname"); 初始化变量字段={}的作用是什么? 它是否正在创建一个通用对象(field),可以动态设置属性(field.tf) var field = {}; 它表示一个对象数据类型 它表示一个对象数据类型 通用对象 这与: var field = { tf:

我看到了以下情况:

var field = {};
field.tf = $("#textfield");
field.date = $("td#CurrentDate");
field.name = $("input#myname");
初始化变量字段={}的作用是什么? 它是否正在创建一个通用对象(field),可以动态设置属性(field.tf)

var field = {};
它表示一个
对象
数据类型

它表示一个
对象
数据类型

通用对象

这与:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');
泛型对象

这与:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');

这只是创建空JavaScript对象的标准符号。你会经常看到这样的速记:

var object = { };
var array = [ ];
将其视为宣言的极简版本:

var object = {
  key1: 'value1',
  key2: 'value2'
}

var array = [ 1, 2, 3, 4 ];
var field = {
    'tf'   : $("#textfield"),
    'date' : $("td#CurrentDate"),
    'name' : $("input#myname")
};

这只是创建空JavaScript对象的标准符号。你会经常看到这样的速记:

var object = { };
var array = [ ];
将其视为宣言的极简版本:

var object = {
  key1: 'value1',
  key2: 'value2'
}

var array = [ 1, 2, 3, 4 ];
var field = {
    'tf'   : $("#textfield"),
    'date' : $("td#CurrentDate"),
    'name' : $("input#myname")
};
它是否正在创建一个通用对象(field),可以动态设置属性(field.tf)

var field = {};
回答:是的,它就是这么做的

值得一提的是,问题中的代码可以通过在初始声明中定义所有属性来简化:

var object = {
  key1: 'value1',
  key2: 'value2'
}

var array = [ 1, 2, 3, 4 ];
var field = {
    'tf'   : $("#textfield"),
    'date' : $("td#CurrentDate"),
    'name' : $("input#myname")
};
这与原始代码完全相同,但更整洁

它是否正在创建一个通用对象(field),可以动态设置属性(field.tf)

var field = {};
回答:是的,它就是这么做的

值得一提的是,问题中的代码可以通过在初始声明中定义所有属性来简化:

var object = {
  key1: 'value1',
  key2: 'value2'
}

var array = [ 1, 2, 3, 4 ];
var field = {
    'tf'   : $("#textfield"),
    'date' : $("td#CurrentDate"),
    'name' : $("input#myname")
};

这与原始代码完全相同,但更简洁。

JavaScript除了标准的
数字
字符串
布尔
之外,还有许多其他语言共有的文字语法:

foo = {};
同:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');

同:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');

同:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');
这些字面上的语法有自己的怪癖和细微差别。对于对象,键-值对以逗号分隔,键和值以冒号字符分隔:

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

foo = new Object();
foo.bar = 'baz';
foo.fizz = 'buzz';
foo = new Array();
foo.push('bar', 'baz');
对于数组,数组成员仅以逗号分隔:

foo = ['bar', 'baz'];
相当于:

foo = new Object();
foo.bar = 'baz';
foo.fizz = 'buzz';
foo = new Array();
foo.push('bar', 'baz');
请注意,对于数组,构造函数有一个缺陷<代码>新数组(1,2,3)相当于
[1,2,3]
,但
新数组(3)
并不等同于
[3]
,而是相当于
[undefined,undefined,undefined]
(大小为3且没有成员的数组)


这种方便的初始化结构以及相互嵌套对象和数组的能力导致了

JavaScript的形式化,除了标准的数字、
字符串
布尔
之外,它还有许多其他语言共有的文字语法:

foo = {};
同:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');

同:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');

同:

var field = {
   tf: $("#textfield"),
   date: $("td#CurrentDate"),
   name: $("input#myname")
};
foo = new Object();
foo = new Array();
foo = new RegExp('foo');
这些字面上的语法有自己的怪癖和细微差别。对于对象,键-值对以逗号分隔,键和值以冒号字符分隔:

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

foo = new Object();
foo.bar = 'baz';
foo.fizz = 'buzz';
foo = new Array();
foo.push('bar', 'baz');
对于数组,数组成员仅以逗号分隔:

foo = ['bar', 'baz'];
相当于:

foo = new Object();
foo.bar = 'baz';
foo.fizz = 'buzz';
foo = new Array();
foo.push('bar', 'baz');
请注意,对于数组,构造函数有一个缺陷<代码>新数组(1,2,3)相当于
[1,2,3]
,但
新数组(3)
并不等同于
[3]
,而是相当于
[undefined,undefined,undefined]
(大小为3且没有成员的数组)


这种方便的初始化结构,以及将对象和数组嵌套在彼此之间的能力,导致了

的形式化。这与以下说法相同:

var field = new Object();
另一个示例是创建阵列:
var myArr=[]
vs
var myArr=new Array()

这与说:

var field = new Object();
另一个示例是创建阵列:
var myArr=[]
vs
var myArr=new Array()

它通过直接向javascript对象分配对象文字来创建javascript对象

对象文字为创建新对象值提供了非常方便的表示法。对象文字是一对 围绕零个或多个名称/值对的花括号。对象文字可以出现在表达式的任何位置 可以显示:

var empty_object = {};
var stooge = {
   "first-name": "Jerome",
   "last-name": "Howard"
};

它通过直接向javascript对象分配对象文字来创建javascript对象

对象文字为创建新对象值提供了非常方便的表示法。对象文字是一对 围绕零个或多个名称/值对的花括号。对象文字可以出现在表达式的任何位置 可以显示:

var empty_object = {};
var stooge = {
   "first-name": "Jerome",
   "last-name": "Howard"
};
var something={}在JavaScript中定义一个对象。因此,如果您不知道{}的意思,我假设您也不完全了解其他3行代码。让我们试一试:

所以“场”是一个对象,你可以给这个对象任何结构。它可以有高度,宽度,尺寸和任何你喜欢的。因此,我们将对象定义为:

var field = {};
现在,如何将属性添加到对象中?在面向对象编程中,我们使用点(.)符号。例如:person.name,请求一个人的姓名。根据您的代码:

field.tf = $("#textfield");
field.date = $("td#CurrentDate");
field.name = $("input#myname");
a) 首先,将字段的tf初始化为文本框的值。
b) 其次,将字段的日期初始化为文本框的值

c) 最后,将字段的名称初始化为文本框的值

您还可以将对象定义为:

var field = {
'tf'   : $("#textfield"),
'date' : $("td#CurrentDate"),
'name' : $("input#myname")
};
我希望这有帮助!Cheers

var something={}在JavaScript中定义了一个对象。因此,如果您不知道{}的意思,我假设您也不完全了解其他3行代码。让我们试一试:

所以“场”是一个对象,你可以给这个对象任何结构。它可以有高度,宽度,尺寸和任何你喜欢的。因此,我们将对象定义为:

var field = {};
现在,如何将属性添加到对象中?在面向对象编程中,我们有点(.)符号