// Numbers have a native "toString" method
var number = 5;
number.toString(); //-> "5"
Number.prototype.toString = function () {
return String( this + 1);
};
number.toString(); //-> "6"
Этот пример может Вас насторожить, но динамизм JavaScript позволяет делать поистине безбашенные вещи. Помните, что Вы работаете в общедоступной среде, не делайте необдуманных вещей, которые могут легко повредит другие скрипты на странице.
Функция console.log
Многие из примеров кода в этой книге будут использовать функцию console.log для вывода данных в консоль браузера. Она поддерживается броузерами Firefox (с помощью расширения Firebug) и Safari, и работает не так навязчиво, в отличие популярной функции alert, где сообщения выводятся в диалоговое окно, которое надо закрывать. Считайте функцию console.log своего рода оператором print в JavaScript. Вы никогда не будете использовать ее в готовом коде, но ее удобно использовать при изучении и отладке.
Функции в JavaScript это "неугнетенные плебеи", как в PHP или Java. Они полноправные "граждане". Функция может быть назначена переменной, может быть передана как параметр в другую функцию, и может быть возвращена из функции. (У Вас может быть функция, которая принимает функцию как параметр и возвращает функцию!)
Вам вероятно знаком следующий синтаксис определения функции:
function lambda() {
return "foo";
}
А вот реже используемый синтаксис, но почти эквивалентный:
var lambda = function () {
return "foo";
};
В обоих примерах описывается функция, которой назначается имя lambda. В обоих примерах функцию можно вызвать, написав lambda(). И в обоих примерах, можно использовать lambda также гибко, как используется любой другой тип данных.
7