2016-09-07 2 views
-1

Каков наилучший способ определения функции в javascript. как определить функцию с помощью:: function_Name: function() {}.Каковы различные способы определения функции в javascript

+0

Вы не можете определить функцию типа 'function_Name: function() {}'.Он должен быть 'function function_Name() {}' или 'var function_Name = function() {}' – Pugazh

+0

Вы имеете в виду 'var anyFunctionName = function() {}' и 'function() {}' –

+1

Проверьте этот ответ - http : //stackoverflow.com/questions/336859/javascript-function-declaration-syntax-var-fn-function-vs-function-fn и этот http://davidbcalhoun.com/2011/different-ways-of-defining- function-in-javascript-this-is-madness/ – Pugazh

ответ

0

Надеется, что это будет полезно

Названной функция

function someName(){ 
//rest of code 
} 

может быть вызван someName();

выражение Функция

var someName = function(){} 

можно назвать по someName()

IIFE

(function(someParam){ 
//rest of code 
}(params)) 

IIFE также может также написана таким образом

+function(someParam){ 
//rest of code 
}(someParam) 

Названный выражение функции

var someVar = function someFoo(){}; 

это называют someVar(). someFoo доступен только внутри себя

функция Arrow (ака жира стрелка)

var someVar= (param1, param2) => {return somereturn} 

Конструктор функции

var adder = new Function('a', 'b', 'return a + b'); 

Помимо этого вы также можете взглянуть на call & apply

+0

Я думаю, что вы оставили дополнительный '}' в своем примере IIFE – GibboK

+0

@GibboK благодарит за указание ошибки. Я отредактировал его – brk

+0

Зачем ему смотреть на 'call' и' apply'? Это способы вызова функций, а не их определения, о чем он и говорил. –

-1

Нет никакого «лучшего» способа определения функции, это зависит от ваших потребностей. Например, если у вас есть функция, которая проверяет что-то, что имеет смысл поставить его в переменную, как Pugazh сказал:

var foo = function(){ 
    if (/*some condition*/) { 
    //do something...; 
    return true; 
    } 
    else { 
    return false; 
    } 

, а затем использовать его как alert(foo()); и он будет выполнять функцию и возвращает значение (истина или ложь). Иногда вы хотите именованный функцию можно вызвать с опциями, как:

function SaveData(data) { 
    //Code to save something 
} 

А потом называют это как SaveData("Hello World");

И иногда вы просто добавить функцию без имени, который выполняется в качестве обратного вызова (например, в jquery) или при выполнении определенного действия, но вы определяете его в событии, а не как именованную функцию.

Все типы функций имеют свои варианты использования.

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