我是 JavaScript 编程的新手。我写了一个 IIFE 来帮助我提高理解。我的意图是定义一个 $ 函数,当调用它时,它会调用自己作为构造函数。运行代码时,会生成错误“递归过多”。我不知道问题是什么。
(function() {
//check the global host object
var root = this;
var inside = "inside";
var $ = function () {
return new $(); //this line generates an error 'Too much recursion.'
}
$.check = function(obj) {
console.log(inside);
}
//add the $ to global object
root.$ = $;
}).call(this);
var ins = $();
console.log(ins);