【发布时间】:2020-07-13 06:00:52
【问题描述】:
当一个名为 Glitcher 的函数在 IIFE 中声明,其返回值分配给变量 Glitcher,即同名,这意味着什么?我不知道我应该如何理解。
var Glitcher = (function() {
function Glitcher(options) {
this.canvas = document.createElement('canvas');
this.context = this.canvas.getContext('2d');
this.origCanvas = document.createElement('canvas');
this.origContext = this.origCanvas.getContext('2d');
this.options = options;
}
Glitcher.prototype.glitch = function(url, callback) {
var _this = this;
this.loadImage(url, function(img) {
_this.renderImage(img);
_this.process();
callback();
});
};
// deleted some code.....
return Glitcher;
})();
【问题讨论】:
-
不管里面叫什么,都是块作用域。
-
这对于调试目的可能很重要,因为它将设置构造函数的 .name。一些网络控制台(例如 Chrome 的)将在记录实例对象时使用此函数的名称。
标签: javascript function iife