Các calculate()
là một chức năng riêng - đó là chỉ có thể trong phạm vi của CartController
. Nếu bạn không cần phải sử dụng chức năng của bạn trong quan điểm đó là ý tưởng tốt để làm cho nó riêng tư. Nó nói rằng đó là không phải là được dự định sẽ được sử dụng trong chế độ xem, vì vậy nếu người khác làm việc với mã này nên suy nghĩ kỹ trước khi sử dụng nó trong chế độ xem. Hơn nữa: từ trong phạm vi calculate
bạn có quyền truy cập vào tất cả các đối tượng có thể truy cập trong phạm vi CartController
(bao gồm các đối tượng được chuyển đến CartController
làm thông số).
Chức năng được khai báo theo cách này là JS function
thích hợp, có nghĩa là bạn có thể tham chiếu đến nó theo tên của nó. Đôi khi nó được cho là dễ đọc hơn nếu bạn khai báo/tạo chức năng của bạn trước và chỉ sau đó giao cho các thuộc tính của một số đối tượng khác (trong trường hợp này $scope
):
function someFn (...) { ... }
function someOtherFn (...) { ... }
...
$scope.someFn = someFn
Trong đoạn trên ý định rất rõ ràng: làm cho someFn
có thể truy cập được, trong khi vẫn giữ riêng tư cách someOtherFn
.
Btw. các hàm khai báo như: function nameFn(...){...}
được gọi là câu lệnh hàm; bạn có thể làm tương tự như sau: var nameFn = function(...) {...}
(được gọi là biểu thức hàm). Có một sự khác biệt nhỏ giữa những người - về cơ bản nó là bất hợp pháp:
someFn();
var someFn = function(...) {...}
trong khi đó, công trình này:
someFn();
function someFn(...) {...}
Đôi khi bạn buộc phải sử dụng mô hình này, nhìn ví dụ tại số answer của mình đến số question này.
Nguồn
2013-12-18 09:38:04
Mô tả tuyệt vời – Padyster