2012-06-30 27 views
5

Tôi đang học Backbone và có một số vấn đề với hàm on(). Nhưng thực ra nó là một câu hỏi JavaScript rất cơ bản.jQuery on(); function

Tại sao dòng mã đầu tiên bên dưới hoạt động và dòng thứ hai không hoạt động? Sử dụng dòng thứ hai, hàm render không bao giờ được kích hoạt. Tâm trí các dấu ngoặc.

trình

this.collection.on('reset', this.render, this); 

Thất bại

this.collection.on('reset', this.render(), this); 
+1

có thể trùng lặp của [Ý nghĩa của "()" trong cuộc gọi hàm là gì?] (Http://stackoverflow.com/questions/3641330/whats-the-meaning-of-in-a-function-call) – pimvdb

Trả lời

9

this.render() thực hiện chức năng (dữ liệu như vậy trong trường hợp của bạn, bạn đang đi qua trở về từ chức năng này), trong khi this.render là xử lý hoạt động.

+0

vì vậy sử dụng this.render() nó chỉ được thực hiện một lần, khi tôi ràng buộc các chức năng? – Voles

+2

Có, bạn đang chuyển dữ liệu được trả về bởi hàm 'render()'. – Zbigniew

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