renovations

This commit is contained in:
Ilya Kantor 2015-01-09 01:39:01 +03:00
parent 87a3588057
commit 223dd884ae
100 changed files with 638 additions and 658 deletions

View file

@ -0,0 +1,114 @@
# Методы и свойства
Все значения в JavaScript, за исключением `null` и `undefined`, содержат набор вспомогательных функций и значений, доступных "через точку".
Такие функции называют "методами", а значения -- "свойствами". Здесь мы рассмотрим основы использования свойств и методов.
[cut]
## Свойство str.length
У строки есть *свойство* `length`, содержащее длину:
```js
//+ run
alert( "Привет, мир!".length ); // 12
```
Можно и записать строку в переменную, а потом запросить её свойство:
```js
//+ run
var str = "Привет, мир!";
alert( str.length ); // 12
```
## Метод str.toUpperCase()
Также у строк есть *метод* `toUpperCase()`, который возвращает строку в верхнем регистре:
```js
//+ run
var hello = "Привет, мир!";
*!*
alert( hello.toUpperCase() ); // "ПРИВЕТ, МИР!"
*/!*
```
[warn header="Вызов метода -- через круглые скобки!"]
Обратите внимание, для вызова метода обязательно нужны круглые скобки.
Посмотрите, например, результат обращения к `toUpperCase` без скобок:
```js
//+ run
var hello = "Привет";
*!*
alert( hello.toUpperCase ); // function...
*/!*
```
Метод -- это встроенная команда ("функция", мы поговорим о них позже), которую нужно вызвать для получения значения. При обращении без скобок мы получим саму эту функцию. Как правило браузер выведет её как-то так: `"function toUpperCase() { ... }"`.
А чтобы получить результат -- нужно произвести её вызов, добавив скобки:
```js
//+ run
var hello = "Привет";
*!*
alert( hello.toUpperCase() ); // ПРИВЕТ
*/!*
```
[/warn]
Более подробно с различными свойствами и методами строк мы познакомимся в главе [](/string).
## Метод num.toFixed(n)
Есть методы и у чисел, например `num.toFixed(n)`. Он округляет число `num` до `n` знаков после запятой, при необходимости добивает нулями до данной длины и возвращает в виде строки (удобно для форматированного вывода):
```js
//+ run
var n = 12.345;
alert( n.toFixed(2) ); // "12.35"
alert( n.toFixed(0) ); // "12"
alert( n.toFixed(5) ); // "12.34500"
```
Детали работы `toFixed` разобраны в главе [](/number).
[warn header="Обращение к методам чисел"]
К методу числа можно обратиться и напрямую:
```js
//+ run
alert( 12.34.toFixed(1) ); // 12.3
```
...Но если число целое, то будет проблема:
```js
//+ run
alert( 12.toFixed(1) ); // ошибка!
```
Ошибка произойдёт потому, что JavaScript ожидает десятичную дробь после точки.
Это -- особенность синтаксиса JavaScript. Вот так -- будет работать:
```js
//+ run
alert( 12..toFixed(1) ); // 12.0
```
[/warn]
Мы еще встретимся со [строками](/string) и [числами](/number) в последующих главах и глубже познакомимся с их свойствами и методами.