-
slideshow=function(){
var g = document.createElement(...);
...
g.onclick = f1;
f1 = function(slideshow_instance, event) {
//EXPLAIN ME HOW TO GET THE slideshow_instance
}
}
var sl1 = new slideshow();
var sl2 = new slideshow();
Run Code Online (Sandbox Code Playgroud)
单击已创建的元素幻灯片应该返回
SL1
要么
SL2
我解释得好吗?
简短的回答,使用:this.
更长的答案,你想要的是:
slideshow=function(){
/* ... */
var self = this;
f1 = function(event) {
// do stuff with self.
}
}
Run Code Online (Sandbox Code Playgroud)
您需要指向this使用的原因self是事件处理程序将更改this它们被调用时的含义.但是在this正确创建对象时,请参考正确的对象(幻灯片放映的实例).我们可以在事件回调期间访问自变量的原因是因为它已被闭包捕获.
如果您需要进一步说明,请随意google或在stackoverflow上搜索上述说明中的任何字/术语.
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |