这样代码能执行吗?
hel_ 2018-08-23 05:45:56 如下代码:
function getImg(url) {
return Promise(function(resolve, reject) {
var img = new Image();
img.onload = function() {
resolve(this);
};
img.onerror = function(err) {
reject(err);
};
img.url = url;
});
};
这个this应该指的img对象,因为是异步执行,onload事件触发时,
img早已过了变量作用域,img对象会不会已经被垃圾回收器回收?
假如上面程序可以正常执行,为什么?img为什么没被回收?