Я просто играл с JavaScript и создавал конструкторы, и я наткнулся на этот недоумение.Экземпляр класса, возвращающий функцию
var foo = function(){
this.x = 1;
return function(){
return this.x;
}
}
var x = new foo();
console.log(x);
я выполнил следующие действия для этого:
console.log(x); // The given output is expected for this line of code
console.log(x());
console.log(x()());
console.log(x()()());
Все вышеперечисленное дал мне тот же результат, как следующее:
function(){
return this.x;
}
Может кто-нибудь объяснить, что происходит в коде выше , Я не мог дать правильное название для этого вопроса. Извини за это.
Примечание: Я знаю конструкторы в JS. И вышеупомянутый код был просто из любопытства.
Urghh ... Я должен был немного подумать. Еще спасибо. – Mahesh