Простенькая задачка, а я туплю... :(
var a = new F();
var b = new F();
alert(a == b);
function F() {};
Сделать так, чтобы a == b возвращало true. |
|
Lemme,
я это понимаю. это типа пример на собеседовании. Дано:
var a = new F();
var b = new F();
alert(a == b);
function F() {};
сделать так, чтобы a == b выдавало true. Надо код ниже дописать, чтобы a == b. Вот я и хочу понять, такое можно реализовать? Я думал что-то типа
F.prototype.valueOf = function() { return 1; } // ну или, к примеру, true
дописать. Ведь при операции нестрого равенства происходит преоб-е типов, если один из операндов объект - то он приводится к примитиву с использованием valueOf(). НО что-то не работает :( |
var a = new F();
var b = new F();
function F() {};
F.prototype.valueOf = function() { return 1; };
alert(a == 1); // true
alert(b == 1); // true
alert(b == a); // false
Неужели не возможно, чтобы alert(b == a) дал true, если и a, и b == 1? |
function F() { return Date; }
|
А, я разобрался, вопрос снят - такое сделать нельзя!
Равенство (==) |
Цитата:
|
Яростный Меч,
работает )) |
Заменить точно можно, дописать - вроде тоже
|
Яростный Меч,
заменять, я так понял, не надо. Надо именно дописать. Т.е. чтобы b == a надо вернуть какой-то глобальный объект? |
| Часовой пояс GMT +3, время: 15:17. |