2015-04-21 2 views
0

Я хотел бы, чтобы структурировать мое приложение, как это:Javascript возвращенный деталь в возвращении

APP.open = (function ($) { 
    return { 
    people: function() { 
     return { 

     gender: function() {}, 

     age: function() {} 
     } 
    } 
    }; 
}(jQuery)); 

я могу получить APP.open.people(), но когда я делаю: APP.open.people.gender(); я undefined.

+2

'APP.open.people() пол();' – adeneo

+0

Не 'APP.open' функцию? Просто спрашиваю, потому что я не специалист по javascript. – Nolonar

+1

@Nolonar - 'APP.open' - это объект, так как функция, которую вы видите, является IIFE, которая выполняется немедленно и возвращает объект. 'APP.open.people', с другой стороны, ** не ** IIFE и должен быть вызван. – adeneo

ответ

1

Вы можете сделать что-то подобное, чтобы достичь того, что вы спрашиваете: Обратите внимание на анонимную функцию, обернутую вокруг назначения людей. .

APP.open = (function ($) { 
return { 
    people: (function() { 
    return { 

     gender: function() {}, 

     age: function() {} 
    } 
    })() 
}; 
}(jQuery)); 
+0

это выглядит интересно. Только один вопрос. Как я могу передать метод people из другого файла? – Louis

+0

, так что я хотел бы сделать, это определить метод 'APP.open.people.race()' из другого файла. – Louis

+0

Для этого вы можете использовать объектный литерал. 'App.open = {people: {gender: function() {...}}}' и из другого файла вы можете добавлять методы людям 'App.open.people.race = function() {.. .} ' – roxxypoxxy

0

APP.open.people(). Gender();

глупый, я уже видел это ... Спасибо, ребята!

Смежные вопросы