функция создания JavaScript - PullRequest
       1

функция создания JavaScript

2 голосов
/ 16 февраля 2011

В чем разница между этим:

var doSomething=function()
{
    //do blah blah blah...  
}

И этим:

function doSomething()
{
    //do blah blah blah...  
}

Другой вопрос: В PHP мы создаем функцию, выполняя это:

function doSomething(a,b)
{
    //do something to variable a and b...
}

В JavaScript у нас может быть объект перед функцией:

object.doSomething(a);

Мой второй вопрос: как бы вы создали функцию, которая требует объект в JavaScript?

Ответы [ 4 ]

6 голосов
/ 16 февраля 2011

Результат Google номер один для «оператор функции против выражения javascript» - это еще один вопрос переполнения стека:

В чем разница между выражением функции и объявлением в JavaScript?

Ссылка на следующую статью, которая является окончательной ссылкой на предмет:

http://kangax.github.com/nfe/

1 голос
/ 16 февраля 2011

Разница между var fun = function() {} и function fun() {} заключается в том, что в первом случае она сохраняется в переменной fun. Для вызова функции необходимо позвонить fun(). Наличие этого в переменной позволяет передавать функцию.

Вы можете создавать объекты, используя функции

function MyClass() {
    this.fun = function() { alert('Hello world'); }
}

var obj = new MyClass();
obj.fun();

или JSON

var obj = {
   fun: function() { alert('Hello world'); }
};

obj.fun();

Вы можете расширять объекты или их прототипы новыми функциями.

Edit. Извините за неправильный ответ: нельзя делать такие вещи в 4 часа утра.

0 голосов
/ 16 февраля 2011

Для второй части вопроса мы просто делаем что-то вроде

object.doSomething = function(a) { ... }

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

0 голосов
/ 16 февраля 2011

Один вопрос за раз.

Чтобы ответить на ваш первый вопрос, нет большой разницы.

function doSomething() {} 

технически эквивалентно:

var doSomething;
doSomething = function() {};

технически, что происходит в этом случаеобъявление переменной возвращает hoisted в начало вашего скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...