我前几天遇到了代码块,我试图弄清楚为什么作者可以选择return init();
而不是做
$scope.init = function() {...};
并使用ng-click
或其他东西调用。这是代码:
myApp.controller("PlaylistCtrl", [
"$scope", "tracksService", function($scope, tracksService) {
var init;
init = function() {
$scope.addTrack("Jay-Z - 99 Problems");
return $scope.tracks = $scope.getTracks();
};
$scope.getTracks = function() {
return tracksService.tracks();
};
$scope.addTrack = function(trackTitle) {
if (trackTitle !== "") {
return tracksService.addTrack(trackTitle);
}
};
return init();
}
]);
因此,陈列的问题是:从控制器返回值的目的是什么?它利用哪些其他功能?一旦启动控制器,这会导致init()
运行吗?如果不是,这里的特定目的是什么?任何帮助都将受到赞赏。谢谢。
没有具体的含义,而删除return
不会更改任何内容。
如果您查看其他功能,那么即使在不需要的情况下,开发器似乎都有从每个功能返回的习惯。
这可能只是一种习惯。在各种情况下,它可以帮助开发器确保这是初始化块的末尾,将函数声明放在下面,例如在此小示例中:
// Initialization
var foo = 'bar';
doFoo();
doBar();
return; // <- end of declarative block
// Methods
function doFoo() { ... }
function doBar() { ... }