Aug 19
В JavaScript стандартния OR оператор ( || ) е малко по мощен от този в доста други езици, защото връща това първия елемент който не е false, null, undefined и т.н. Аз когато се използва по този начин го наричам default оператор ( и не само аз де )
Малко повече информация по този въпрос може да се види тук.
Номера който искам да покаже, е доста прост всъщност. А именно, че с default оператора може да се изпозлваа заедно с анонимна фунция. Примерно искаме в променливата element да имаме елемент, който ако не съществува трябва да бъде генериран. Като кода за неговото генериране е много тежък и голям като обем, но и ще трябва да се изпълни само един път. За това можем дам напишем кода така:
// при не съществуването на елемент със id element, се вика анонимната фунция
// но ако има такъв елемент до функцията въобще не се стига
element = $('element') || (function(){
var element = new Element('div', {id: 'element'});
// ... код ... код ... код
return element;
})();

December 12th, 2009 at 9:22 pm
Здрасти. Интересен блог.
Тук си пропуснал нещо много важно. При изчислението на израза върху всеки един от операндите се прилага следния алгоритъм:
ToBoolean(GetValue(Identifier Reference));
ToBoolean връща false не само в описаните от теб ситуации:
+0 => false
-0 => false
NaN => false
” => false
December 13th, 2009 at 5:48 pm
Моя грешка, че не съм го отбелязал
за в бъдеще ще внимавам повече.