2014-01-19 3 views
-1

у меня есть Java-скрипт, как показано нижеJavascript назначение метода, когда никакие скобки

foo(){ 

return "hello"; 

} 

var myVar=foo; 

Что будет получить назначен MYVAR?

+1

Ничего, это не будет выпадать с SyntaxError. Если вы положите 'function' перед первой строкой, то' myVar' будет псевдонимом для 'foo'. –

+0

Возможно неправильное понимание функций ES6 'arrow' (лямбда)? Части этого были перенесены в некоторые браузерные JS-движки, и некоторые (например, Firefox) уже имели альтернативные реализации. http://net.tutsplus.com/tutorials/javascript-ajax/eight-cool-features-coming-in-es6/ –

ответ

1

если вы инициализировать его с помощью функции ключевого слова:

function foo() { 
    return "hello"; 
} 

, то можно как в JavaScript функции является типом данных, так что вы инициировали переменную с именем foo, а затем назначить другую переменную.

var myVar = foo; 

Вызов функции myVar() вызовет функцию, поскольку теперь она ссылается на эту функцию.

Here is Demo

1

Ошибка SyntaxError.

Я думаю, что вы хотите это? В этом случае обув является псевдоним для этого Funciton определен

var foo = function(){ 
return "hello"; 
} 
Смежные вопросы