2013-04-11 28 views
8

Tôi đang làm việc thông qua hướng dẫn Knockoutjs. Và một điều có vẻ kỳ lạ đối với tôi. Tôi hiện trong phần 2:Trong knockout.js, tại sao "this" được gán cho "self"?

http://learn.knockoutjs.com/#/?tutorial=collections

Và trong phần này trong mỗi "class", "này" đang được giao nhiệm vụ "tự" .. nó không phải là trường hợp ở người đầu tiên?

Tại sao một người nào đó thực hiện việc này? Có phải ai đó đã viết mã đặc biệt đó có nghiện python hay là có một số lợi ích thực tế cho điều này?

+4

bản sao có thể có của [JS: var self = this?] (Http://stackoverflow.com/questions/337878/js-var-self-this) Và để đọc thêm: Và để đọc thêm: http: // stackoverflow.com/questions/9589419/difference-between-knockout-view-models-declared-as-object-literals-vs-functions – nemesv

Trả lời

7

Vì "này" đề cập đến các đối tượng khác nhau tùy thuộc vào ngữ cảnh, người ta có thể lưu tham chiếu đến một đối tượng cụ thể bằng cách gán nó cho biến khác, ví dụ "tự".

+1

Tôi cũng muốn thêm nó không phải là một câu hỏi cụ thể loại trực tiếp thực sự, nó là một javascript chung mô hình phát triển khá thường xuyên được sử dụng (bao gồm cả trong nút). – lucuma

+0

Trong khi điều này là đúng, nó xuất hiện sử dụng knockout là phù phiếm trong ví dụ đó. Không có chuyển ngữ cảnh và bạn có thể thay đổi một cách an toàn "tự" thành "điều này" và ví dụ này hoạt động tốt. Có lẽ họ làm điều này bởi vì sau này trong hướng dẫn có chuyển ngữ cảnh? – MikeMurko

+0

Vâng, tôi nghĩ đôi khi nó sẽ trở thành thói quen. – Whistletoe

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