2014-05-15 2 views
0

я видел разработчиков, использующих различные способы декларировать/определяют функции в JS,В чем разница между различными объявлениями методов в JavaScript?

как:

// 1 
createview:function() 
{ 

} 

// 2. 
var createview=function() 
{ 
} 

// 3. 
function createview() 
{ 
} 

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

+0

Первый случай используется, если вы хотите назначить функцию как свойство объекта – StateLess

+0

C'mon guys. Это не дублирует. Без обозначения других объектов ответ должен быть «меткой» в Javascript. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/label –

+1

@HerringtonDarkholme Это неверно. Анонимная функция не может использоваться как оператор (и это нецелесообразно, если бы оно могло). Довольно уверен, что ОП просто оставил соответствующие детали. – JLRishe

ответ

0

Его объект и используется, например, в шаблоне раскрывающего модуля.

var module = (function() { 

    var stuff = function() { return 'stuff'; }; 

    return { 

    stuff: stuff 

    } 

}()); 

Теперь у вас есть закрытое имя.

module.stuff() //--> returns 'stuff' 
Смежные вопросы