Оператори и &&

Напълно възможно е след тази и следващата набла да се почувствате глупаво. Ще се почувствате точно като Windows програмист, който цял живот е рисувал кръгове, правоъгълници, бутони и т.н. ръчно (по точки - например чрез DirectDraw) и изведнъж открива, че тази операционна система има куп готови инструменти за чертане на интерфейсни елементи.

Оператори и &&

Операторът връща втория си аргумент, ако първият е "false" (false, null, "", 0), а първият аргумент е в противен случай. Оператор && връща своя втори аргумент, ако първият е верен, и първият, ако е неверен.

Но какво е обект? Колкото и да е странно, всеки обект изглежда катохешв програмата. Да, да, същият хеш, който е и на езика Perl. И се създава от абсолютно същия оператор, само че вместо => двоеточие се използва:

Свойствата (и методите, между другото, също) на обект са просто елементи на хеш. Можете да използвате два синтаксиса за достъп до тях:

А сега -внимание: тези два метода са напълно идентични! Няма значение дали имате достъп до хеша като hash.element или като hash['element']. Защо тогава имаме нужда от втория вариант? Лесно е да се познае: може да не знаем изрично името на ключа, до който искаме да имаме достъп:

Хешовете също могат да се създават елемент по елемент:

Хеш ключовете, разбира се, могат да бъдат и обикновени числа:

Изразът hash.0 вместо hash[0] обаче не работи (въпреки че IE понякога има навика да показва съобщения за грешка като това:

Това всъщност не е вярно, защото командите for (var k in arr) alert(k) извеждат само цифровите ключове на масива, а не свойството дължина. Въпреки това, в първото приближение, хипотезата за произхода на масивитедоста приемливо.

принтирам

Ако се опитате да отпечатате целия масив с командата alert(arr), тогава всички негови елементи ще бъдат показани. Това е доста удобен трик, ако трябва да покажете стойностите на няколко променливи за целите на отстраняване на грешки, но ви мързи да пишете знаци плюс и запетаи в кавички:

Команда като alert([1,2,[4,5],6]), за съжаление, отпечатва всички елементи на масив в купчина, независимо от вложеността.

За съжаление, няма да можете да отпечатате хеша по този начин: той ще отпечата низа [object Object] (точната форма зависи от браузъра). За да все пак отстранявам грешки в програми със сложни хешове, написах следната функция: