Шаблон пространства имен JavaScript (похожий на свойства объектов) - PullRequest
0 голосов
/ 25 апреля 2011

Какова цель такого шаблона?

var ns=function(){
  //do some stuff
}

ns.test=function(){
  //do another stuff
}

Я видел код, похожий на этот, но я не понимаю преимуществ такого шаблона.

Также кажется, что это похожесвойствам объектов.

также этот шаблон несколько раз использовался с замыканиями, и кажется, что jquery использует его, но не уверен в этом.

Спасибо!

Ответы [ 2 ]

1 голос
/ 25 апреля 2011

Во-первых, это гарантирует, что имена ваших переменных и функций не конфликтуют с именами из других сценариев, которые могут быть включены (например, реклама, аналитика, библиотеки, которые не имеют пространства имен и т. Д.).

0 голосов
/ 25 апреля 2011

Этот шаблон возникает потому, что в JavaScript функции являются первоклассными объектами со своими собственными свойствами и методами. Это позволяет функциям выполняться самостоятельно, но также имитировать вещи на других языках. Это позволяет вам делать довольно мощные вещи, такие как имитация статических классов, запоминание, пространство имен и т. Д.

...