私は 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);