Значение '{}' в JavaScript - PullRequest
13 голосов
/ 26 июля 2011

Что означает присвоение переменной {}? Это инициализация его функции? У меня есть код в файле JavaScript, который говорит это

GLGE.Wavefront = function(uid) {
    GLGE.Assets.registerAsset(this,uid);
    this.multimaterials = [];
    this.materials      = {}; // <---
    this.instances      = [];
    this.renderCaches   = [];
    this.queue          = [];
};

чем это назначение отличается от массива? Это тип массива?

Ответы [ 7 ]

31 голосов
/ 26 июля 2011

Что означает присвоение переменной {}?

Это литерал объекта (без собственных свойств).

Это инициализация функции?

Нет, это было бы = function () { }.

Чем это назначение отличается от массива?

Массив имеет набор функций, которых нет в базовом объекте, например .length, и набор методов.

Объекты часто используются для хранения произвольных пар ключ / значение. Массивы для упорядоченных значений.

14 голосов
/ 26 июля 2011

Это нотация объекта JavaScript.В частности, {} означает пустой объект, такой же, как new Object();.См. json.org .

10 голосов
/ 26 июля 2011

Это был бы пустой объект JavaScript.

2 голосов
/ 26 июля 2011

Использование {} создает объект. Вы можете использовать объект как хэш-карту или аналогично тому, как вы можете использовать массивы в PHP.

var obj = {};
obj['test'] = 'valuehere';
obj.secondWay = 'secondValue';

и вы можете получить к ним доступ, позвонив obj.test и obj['secondWay'].

0 голосов
/ 26 июля 2011

Это JON (нотация объектов Javascript) для создания нового пустого объекта. Идея почти равна тому, как вы обычно делаете Object x = new Object () в Java, за исключением части инициализации ...

0 голосов
/ 26 июля 2011

Создает пустой объект.

var myObj = {};

Внутри объекта вы можете определить пары ключ / значение, например:

myObj.color = 'red';

Значение также может быть функцией:

myObj.getColor = function() { return this.color };
0 голосов
/ 26 июля 2011

Это инициализированный пустой объект, например.объект не определенного типа.Он служит для определения this.materials, чтобы код не проверял его на null или не определялся позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...