Thursday, June 18, 2009

Забавности

И вроде все понятно почему и зачем, но нравятся мне эти забавности:

var a = {
toString: function() {
return 2;
},
valueOf: function() {
return 1;
}
};

var b = String(a);
var c = a + 1;

b? c?

var a = {
toString: function() {
return 2;
}
};

var c = a + 1;

c?

Для тех, кто не в курсе — волшебная функция String, может превратить все что угодно в строку(там где найдет toString), а там где не найдет выведет undefined или null

А унарные операторы вызывают методы toString или valueOf( смотря что есть)
если есть оба — valueOf

По-хорошему, тут стоило описать как это может пригодиться, и придумать полезности всякие, но надо же иногда вот такой фигней позабавиться :) Юля, взглянув на забавности, выдала — этот ваш javascript сплошное надругательство над смыслом и типизацией :)

Monday, June 8, 2009

Делать ":visited"?

Обычно, когда я сомневаюсь нужна ли индикация ссылки ":visited", я пользуюсь простым правилом:

Индикация ":visited" полезна только для статического, неменяющего содержимого за ней(новость, снипет в выдаче поиска, описание фильма).

В тех же, случаях, когда за ней может прятаться динамический контент, использовать ее ни в коем случае нельзя, это будет обманывать пользователей.