from the 《ng-book》, It says:
Due to the nature of JavaScript itself and how it passes by value vs. reference, it’s considered a best-practice in Angular to bind references in the views by an attribute on an object, rather than the raw object itself.
.....
In this case, rather than updating the $scope.clock every second, we can update the clock.now property. With this optimization, we can....
I don't know why because 《JavaScript: The Definitive Guide》 says:
Is there really any fundamental difference between the variable i and the property i of an object o? The answer is no. Variables in JavaScript are fundamentally the same as object properties.
In this book:
$scope.time = { now: new Date()}
is better than
$socpe.time = new Date();