renovations
This commit is contained in:
parent
87a3588057
commit
223dd884ae
100 changed files with 638 additions and 658 deletions
114
1-js/4-data-structures/1-properties-and-methods/article.md
Normal file
114
1-js/4-data-structures/1-properties-and-methods/article.md
Normal 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) в последующих главах и глубже познакомимся с их свойствами и методами.
|
Loading…
Add table
Add a link
Reference in a new issue