【发布时间】:2010-02-17 11:48:41
【问题描述】:
在下面的 javascript 代码中,[] 被赋值为变量的值,这是什么意思?
var openTollDebug = [];
【问题讨论】:
标签: javascript arrays variables
在下面的 javascript 代码中,[] 被赋值为变量的值,这是什么意思?
var openTollDebug = [];
【问题讨论】:
标签: javascript arrays variables
它是一个数组字面量。它与声明 new Array() 不太一样——数组对象可以在 JavaScript 中被覆盖,但数组字面量不能。这是一个演示的例子
// let's overwrite the Array object
Array = function(id) {
this.id = id;
}
var a = new Array(1);
var b = [];
console.log(a.hasOwnProperty("id")); // true
console.log(b.hasOwnProperty("id")); // false
console.log(a.push); // false, push doesn't exist on a
console.log(b.push); // true, but it does on b
b.push(2);
console.log(b); // outputs [2]
【讨论】:
Array 未被覆盖,new Array() 和[] 在功能上是相同的。
new Array(5) 与 [5] 不同 :)
[] 和new Array() 与后者不完全相同是基于Array 未被覆盖的条件。
[] 构造函数呢?
表示数组。
var openTollDebug = [];
声明openTollDebug 变量并将其初始化为一个空数组。要将元素放入数组中,您可以执行以下操作:
var stringArray = ['element1', 'element2', 'element3'];
alert(stringArray[1]); // displays 'element2'
var numberArray = [1, 2, 3, 4];
alert(numberArray[2]); // displays 3
var objectArray = [{ name: 'john' }, { name: 'peter' }, { name: 'tom' }];
alert(objectArray[1].name); // displays 'peter'
【讨论】:
是一个空数组,等于
var openTollDebug = new Array();
【讨论】:
它是空数组的简写。与新数组()相同。 {} 也是一个空对象。对象就像 Js 中的哈希表,因此您可以将其用作字典。
【讨论】:
它创建一个空数组。
这是拥有非空对象的好方法。
在 JavaScript 中,向该对象添加函数和属性非常容易。例如:
openTollDebug.title = 'hello world';
openTollDebug.show = function(){alert('Debug');};
作为一个数组,你可以添加项:
openTollDebug.push('added item');
openTollDebug[3] = 'just add anywhere';
【讨论】:
许多语言都有文字结构。 [] 是一个数组文字。
var openTollDebug = [];
与
相同var openTollDebug = new Array();
只知道出于性能原因首选使用 []。
还有其他字面量,比如对象字面量
var MyObject = {
name:'default',
age:22,
hobbies:["golf","video games","otherstuff"]
}
注意带有数据的数组字面量。 [] 创建一个空数组。
【讨论】:
由于性能原因,请尝试使用文字。你不写
var obj = new Object({name: 'John'})
你随便写
var obj = {name: 'John'}
你也不写
button.onclick = new Function("alert('Clicked!')");
你写
button.onclick = function () { alert('Clicked') }
这里是a link 的一篇关于它的精彩博文
【讨论】:
var b = [] //it is an array literal.
【讨论】: