Все значения в JavaScript, за исключением null и undefined, содержат набор вспомогательных функций и значений, доступных «через точку».
Такие функции называют «методами», а значения — «свойствами». Посмотрим на примеры.
Пример: str.length, str.toUpperCase()
У строки есть свойство length, содержащее длину:
alert( "Привет, мир!".length ); // 12
Еще у строк есть метод toUpperCase(), который возвращает строку в верхнем регистре:
var hello = "Привет, мир!";
alert( hello.toUpperCase() ); // "ПРИВЕТ, МИР!"
Если через точку вызывается функция (toUpperCase()) — это называют «вызов метода», если просто читаем значение (length) — «получение свойства».
Пример: num.toFixed
У чисел есть метод num.toFixed(n). Он округляет число num до n знаков после запятой, при необходимости добивает нулями до данной длины и возвращает в виде строки (удобно для форматированного вывода):
var n = 12.345;
alert( n.toFixed(2) ); // "12.34"
alert( n.toFixed(0) ); // "12"
alert( n.toFixed(5) ); // "12.34500"
Детали работы toFixed разобраны в главе Числа.
Обращение к методам чисел
К методу числа можно обратиться и напрямую:
alert( 12.34.toFixed(1) ); // 12.3
..Но если число целое, то будет проблема:
alert( 12.toFixed(1) ); // ошибка!
Ошибка произойдёт потому, что JavaScript ожидает десятичную дробь после точки.
Это — особенность синтаксиса JavaScript. Вот так — будет работать:
alert( 12..toFixed(1) ); // 12.0
Вызов метода — через круглые скобки!
Обратите внимание, вызов метода идёт через круглые скобки. Вообще-то, можно попробовать и без них, но результат будет совсем другой.