Методы объявления переменных в Javascript - PullRequest
0 голосов
/ 12 января 2012

Я видел следующий код на веб-сайте ... Что это значит?



     if (!window.Node){
       var Node =
      {
        ELEMENT_NODE                :  1,
        ATTRIBUTE_NODE              :  2,
        TEXT_NODE                   :  3,
        CDATA_SECTION_NODE          :  4,
        ENTITY_REFERENCE_NODE       :  5,
        ENTITY_NODE                 :  6,
        PROCESSING_INSTRUCTION_NODE :  7,
        COMMENT_NODE                :  8,
        DOCUMENT_NODE               :  9,
        DOCUMENT_TYPE_NODE          : 10,
        DOCUMENT_FRAGMENT_NODE      : 11,
        NOTATION_NODE               : 12
    };
}

Ответы [ 4 ]

2 голосов
/ 12 января 2012

Это свойства объекта в литерале объекта.

Пустой объект в буквальном смысле:

var obj = {};

Со свойствами:

var obj = {
    foo: "bar",
    test: 123
};

Вы можете получить доступ к свойствам следующим образом:

alert(obj.foo);

Обратите внимание, что эта нотация работает только внутри литералов объектов.Если вы хотите установить свойство снаружи, также используйте точечную запись:

obj.foo = "hi";
1 голос
/ 12 января 2012

Строка:

if (!window.Node){

Означает, что если переменная Node еще не существует, выполните следующие действия:

Node инициализируется как литерал объекта (в основном хеш-таблица).Например:

Node['ENTITY_NODE'] равно 6.

Это также может быть выражено как Node.ENTITY_NODE.

1 голос
/ 12 января 2012

Формат variableName: value - это то, что используется для статического объявления свойств javascript объекта. В вашем примере Node - это новый объект, и для него объявлено 12 свойств. Вы также можете сделать это для объявлений свойств, но объявления свойств - это не то же самое, что объявления переменных.

Что означает этот код: «если window.Node еще не существует, объявите его как объект с этими 12 свойствами».

Доступ к нему можно получить следующим образом:

Node.ELEMENT_NODE == 1

Фактическая цель этого кода состоит в том, чтобы убедиться, что эти значения узлов объявлены один раз и только один раз в данном веб-приложении, чтобы они могли использоваться соответствующим кодом с использованием значимых имен символов, а не просто сравниваться с числом. 1011 *

1 голос
/ 12 января 2012

это литерал объекта.

Следуйте некоторым учебникам, вы поймете больше .. Вот небольшой учебник

http://www.dyn -web.com / tutorials / obj_lit.php

...