Я возился с консолью браузера, чтобы улучшить свои навыки работы с JavaScript.
Когда я попытался добавить метод в Object.prototype, который возвращает его экземпляр как json, произошло нечто странное:
В самом конце метода он возвращается к циклу for-in и выполняет его снова.Снова и снова ...
Он ничего не возвращает и просто продолжает перепрыгивать и повторять.
Код:
Object.prototype.toJSON = function() {
var tempObj = {};
for (let key in this) {
if (this.hasOwnProperty(key)) {
let value = this[key];
tempObj[key] = value;
}
}
return JSON.stringify(tempObj);
}
Я знаю, что вы не должныдобавить методы в Object.prototype.(Если я ошибаюсь, поправьте меня)
Это только для целей обучения.
Не могли бы вы объяснить мне, почему этот метод ведет себя так, как он?
Я не хочу знать, как это будет работать, но почему это не работает.:)
Большое спасибо!