Вернуть функцию в Javascript и как она работает? - PullRequest
1 голос
/ 18 июля 2011

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

function render() {
  if (object.loading) return; // there is no value after return
  // Loading is a boolean indicating if information is still being parsed from a file or not  
}

Это первый раз, когда я вижу код, в котором есть оператор return без заданной переменной, которая будет возвращена после него.

Без return программа завершается сбоем, поэтому она определенно важна.

Есть ли в JavaScript особая ситуация, в которой return может использоваться без указания того, что возвращается после него

Ответы [ 3 ]

8 голосов
/ 18 июля 2011

Если вы используете return без значения после него, оно возвращает значение undefined. Это используется для остановки функции без возврата значения. Функция также вернет undefined, если завершится без оператора return.

http://jsfiddle.net/Q9UJg/1/

1 голос
/ 18 июля 2011

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

1 голос
/ 18 июля 2011

В этом случае используется как предложение get, простое преждевременное прекращение выполнения функции, потому что требуемое условие не было выполнено. Это вся функция или есть еще после комментария?

...