Итак, в основном я создал объект-манекен, а затем добавил свойство всем своим дочерним элементам через свойство prototype. Но, конечно, это пустая собственность. Выполняя условную проверку с помощью оператора in
, чтобы узнать, было ли у объекта новое свойство, он оказался ложным и выводил «Nothing there». Это потому, что свойство еще не имеет значения?Свойство прототипа javascript без значения
function Master(age, sex, location)
{
this.age = age;
this.sex = sex;
this.location = location;
}
var me = new Master(99, "Male", "Texas, USA");
Master.prototype.username;
if("username" in me)
{
document.write("The prototype put the property there.");
}
else
{
document.write("Nothing there.<br />");
}
В Chrome я вижу: «Ничего нет». Если я явно устанавливаю 'Master.prototype.username = undefined', я вижу' Прототип ... '. В каком браузере вы работаете? В общем случае добавление свойства в прототип похоже на добавление переменной класса - в этом примере все экземпляры 'Master' будут иметь одинаковое значение для' username' – dc5