Можете объяснить мне разницу между
function A() {}
A.prototype = {};
var a = new A();
alert( a instanceof A ); // true
и
function A() {}
var a = new A();
A.prototype = {};
alert( a instanceof A); // false
instanceof проверяет, что хотя бы один из __proto__ в цепочку прототипов объекта совпадает с prototype функции. В первом случае первый же совпадёт (так работает new), а во втором - нет, поскольку у объекта осталась ссылка на тот объект, который был до присваивания.
function A() {}
A.prototype = {};
var a = new A();
console.log(a instanceof A);
console.log(a.__proto__ === A.prototype);
function A() {}
var a = new A();
A.prototype = {};
console.log(a instanceof A);
console.log(a.__proto__ === A.prototype);
console.log(a.__proto__.__proto__ === Object.prototype);
console.log(a.__proto__.__proto__.__proto__);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости