118 lines
No EOL
4.1 KiB
Markdown
118 lines
No EOL
4.1 KiB
Markdown
# Введение в методы и свойства
|
||
|
||
Все значения в 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]
|
||
|
||
## Итого
|
||
|
||
В этой главе мы познакомились с методами и свойствами.
|
||
|
||
Почти все значения в JavaScript, кроме разве что `null` и `undefined` имеют их и предоставляют через них разный функционал.
|
||
|
||
Далее мы подробно разберём основные свойства и методы структур данных в JavaScript. |