我在这里关注谷歌浏览器的扩展开发指南:http: //developer.chrome.com/extensions/getstarted.html
在这个文件的第 41 行:http: //sprunge.us/NFjZ
requestKittens: function() {
var req = new XMLHttpRequest();
req.open("GET", this.searchOnFlickr_, true);
req.onload = this.showPhotos_.bind(this);
req.send(null);
},
,他们使用了这样的绑定函数 this.showPhotos_.bind(this); 如果没有此绑定,示例扩展将无法工作。我在 showPhotos_ 方法中进行了测试,并验证“this”只是 kittenGenerator 对象。由于 showPhotos_ 只是该对象的一个方法,这应该是隐式完成的,那么为什么还要这个绑定呢?
请注意,由于 popup.js 文件中的拼写错误,google 的示例将无法运行。要更正它,请将“kittensOnFlickr_”更改为“searchOnFlickr_”。