Javascript: создание пользовательских функций, которые выглядят как функции по умолчанию - PullRequest
0 голосов
/ 26 июня 2011

Когда я хочу создать и использовать функцию, которая принимает другую функцию в качестве аргумента, я обычно делаю:

// Create Function
function doSomething(func){
    func();
}

// Call Function
doSomething(function(){
   ...
});

, но в javascript (и многих других известных мне языках) есть функции по умолчаниюнапример, if, while, for, function, когда при их вызове используется другой формат:

while(i < 10){
    ...
}

Так что у этой функции while нет другого "родителя""функция.Можно ли сделать мои собственные функции в этом стиле в JavaScript?

Ответы [ 2 ]

3 голосов
/ 26 июня 2011

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

1 голос
/ 26 июня 2011

Вы не можете - while - это не функция, это зарезервированное ключевое слово, которое анализируется движком javascript. Если вы сделали функцию и вызвали ее:

myFunc(i < 10){ ... }

вы бы просто получили myFunc(true) или myFunc(false)

А дополнительные { и } будут синтаксическими ошибками.

...