Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Задачка на смекалку (https://javascript.ru/forum/misc/11431-zadachka-na-smekalku.html)

B~Vladi 28.08.2010 20:29

Нет, вы мега-адские кодеры...

Gvozd 28.08.2010 23:42

B~Vladi,
держим марку)))

subzey 30.08.2010 14:14

Заскучали?

Задачка #3:
foo == bar; /* true */
foo + bar == foo + bar; /* false */
foo++-++bar == bar++-++foo; /* false */

Чему равны foo и bar?

UPD: Как-то слишком тривиально получилось. Меняю условия.

Octane 30.08.2010 14:22

var foo = {
    toString: function () {
        return NaN;
    }
};
var bar = foo;
alert([
    foo == bar,
    foo++-++bar==bar++-++foo
]);

Gvozd 30.08.2010 14:27

а можно что-нить посерьезнее?)
foo = bar = {
a: 0,
valueOf:function(){return this.a++;}
};

alert(foo==bar); /* true */
alert(foo++-++bar==bar++-++foo); /* false */

Octane,
интересный вариант)

subzey 30.08.2010 15:38

Эт-то… я отредактировал условия, добавив еще одно.

З.Ы. Есть очень изящное решение для этого, без valueOf и toString :)

B~Vladi 30.08.2010 15:40

Цитата:

Сообщение от subzey
foo + bar == foo + bar; /* false */

:blink: да ну вас... Я лучше нервно покурю в сторонке...

Octane 30.08.2010 15:46

var foo = undefined, bar = undefined;
alert([
    foo == bar,
    foo + bar == foo + bar,
    foo++-++bar == bar++-++foo
]);

Skipp 30.08.2010 15:50

Психи!!!=) А ещё задачки будут?=)

subzey 30.08.2010 15:55

Octane,
и это правильный ответ! :)


Часовой пояс GMT +3, время: 05:35.