我遇到过一些看起来像这样的代码:
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
return $scope.opened = true;
};
为什么这会返回作业?这是做什么的?做或不做这样做会有好处吗?
答案 0 :(得分:1)
基本上是:
$scope.open = function($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
return $scope.opened;
};
所以好处是它可以节省一行代码。可能不值得。
它也可能是编译的CoffeeScript代码,最初看起来像:
$scope.open = ($event) ->
$event.preventDefault()
$event.stopPropagation()
$scope.opened = true
CoffeeScript始终返回方法中最后一行的结果,因此它可能会返回您通常不会返回任何内容的函数的值。
答案 1 :(得分:0)
这将使函数返回true,同时将$scope.opened
设置为true。这相当于做
$scope.opened = true;
return true;
答案 2 :(得分:0)
我同意道格拉斯的回答,认为这不值得。事实上,我会说它是混淆编码。返回类似return x===y
的东西是一回事,在这种情况下,您实际上是在比较x和y,如果相等则返回true,否则返回false。但是返回作业的结果没有多大意义。