self``this即使上下文在变化,也用于维护对原始文档的引用。这是事件处理程序中经常使用的一种技术(尤其是在闭包中)。
编辑: 请注意,
self现在不鼓励使用,
window.self如果您不小心的话,有可能导致错误。
您所说的变量并不重要。
var that = this;很好,但是名称没有任何魔术。
在上下文中声明的函数(例如,回调,闭包)将有权访问在相同范围或更高范围中声明的变量/函数。
例如,一个简单的事件回调:
function MyConstructor(options) { let that = this; this.someprop = options.someprop || 'defaultprop'; document.addEventListener('click', (event) => { alert(that.someprop); });}new MyConstructor({ someprop: "Hello World"});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)