Синтаксис оператора return
Не могу понять, почему в операторе return через запятую перечисляются переменные.
Разве так можно через запятую перечислять? function clOpinions() { var product = { restrict: "AEC", scope: { id: "=", opinions: "=" }, controller: clOpinionsCtrl, }; return clOpinionsCtrl.$inject = ["$scope"], product } |
Acar, так можно, а вот так нельзя
function clOpinions() { var product = { restrict: "AEC", scope: { id: "=", opinions: "=" }, *!* controller: clOpinionsCtrl, */!* }; return clOpinionsCtrl.$inject = ["$scope"], product } |
Цитата:
Объект или массив.. |
Acar, последнее значение, можно даже так
function clOpinions() { return clOpinionsCtrl.$inject = ["$scope"], { restrict: "AEC", scope: { id: "=", opinions: "=" }, controller: clOpinionsCtrl } } |
Цитата:
И каким образом затем обратиться, например, к последнему из них в предложенном вами варианте return, ведь у него Вы не оставили имени? |
Acar,
Цитата:
В общем, я просто оставлю это здесь https://learn.javascript.ru/operator...82%D0%B0%D1%8F https://habrahabr.ru/post/116827/ |
Acar, тот же тип что и у последней возвращаемой сущности. Return завершает выполнение функции затем обратиться не куда не получится хоть с именем хоть без.
|
Цитата:
Как в моем примере, не возвращается clOpinionsCtrl return clOpinionsCtrl.$inject = ["$scope"] |
Цитата:
function clOpinions() { var product = { restrict: "AEC", scope: { id: "=", opinions: "=" }, controller: clOpinionsCtrl }; try { // return product } catch (e) { // return product } finally { // обращение к product } }Плюс если в блоке finally производится не только чтение, но и запись в product, тогда в общем случае product дожен быть объектом (не примитив), чтобы вернулись свежие данные (чтобы return вернул ссылку на объект), если это необходимо. |
Часовой пояс GMT +3, время: 08:05. |