2014-04-23 14 views
5

Tôi perusing mã nguồn AngularJS và không thể giúp đỡ, nhưng chú ý những điều sau:JavaScript biến tuyên bố trong AngularJS

_angular   = window.angular, 
/** @name angular */ 
angular   = window.angular || (window.angular = {}), 

Dòng này có ý nghĩa với tôi:

angular   = window.angular || (window.angular = {}), 

"Sử dụng góc nếu đã được xác định (từ một sự bao gồm trước đó?) trong cửa sổ, hoặc chỉ định window.angular cho một đối tượng trống và đặt biến cục bộ góc để window.angular. "

Một số câu hỏi:

  1. Tại sao window.angular đã được xác định (trừ trường hợp rõ ràng ai đó đã bao gồm nó), và tại sao chúng ta sẽ quan tâm?
  2. Tại sao gán _angular cũng như angular?

Trả lời

3

Đi qua lịch sử cam kết trên GitHub, đây là chế độ noConflict, trường hợp bạn có tham chiếu cũ đến biến được gọi là angular bạn muốn giữ lại.

Đây là commit that added _angular in.

Tính năng này sau đó bị xóa in this commit và tham chiếu _angular là không cần thiết tại thời điểm này.

Tôi sẽ gặp vấn đề về GH hoặc thực hiện yêu cầu kéo ngay. Cập nhật - tạo PR.

+0

Bạn đang nhanh, haha ​​=) –

+0

https://github.com/angular/angular.js/pull/7215 –

+0

Và ... đã hợp nhất https://github.com/angular/angular.js/commit/06d0f1aea6ffa0767aae7c9c99585b7197dcdbd6 –

Các vấn đề liên quan