minor fixes
This commit is contained in:
parent
6bf5977407
commit
a592e89fdb
20 changed files with 184 additions and 96 deletions
|
@ -187,19 +187,19 @@ alert( a - b ); // "1" - "2" = -1
|
|||
|
||||
Бинарный оператор плюс `+` обычно использует числовое преобразование и метод `valueOf`. Как мы уже знаем, если подходящего `valueOf` нет (а его нет у большинства объектов), то используется `toString`, так что в итоге преобразование происходит к строке. Но если есть `valueOf`, то используется `valueOf`. Выше в примере как раз `a + b` это демонстрируют.
|
||||
|
||||
У объектов `Date` есть и `valueOf` и `toString`. Но оператор `+` для `Date` использует именно `toString` (хотя должен бы `valueOf`).
|
||||
У объектов `Date` есть и `valueOf` -- возвращает количество миллисекунд, и `toString` -- возвращает строку с датой.
|
||||
|
||||
...Но оператор `+` для `Date` использует именно `toString` (хотя должен бы `valueOf`).
|
||||
|
||||
Это и есть исключение:
|
||||
|
||||
```js
|
||||
//+ run
|
||||
// бинарный плюс, строчное преобразование
|
||||
// бинарный плюс для даты toString, для остальных объектов valueOf
|
||||
alert( new Date + "" ); // "строка даты"
|
||||
|
||||
// унарный плюс, как и - * /, приводит к числу
|
||||
alert( +new Date ); // число миллисекунд
|
||||
```
|
||||
Других подобных исключений нет.
|
||||
|
||||
Других подобных исключений нет.
|
||||
[/warn]
|
||||
|
||||
[warn header="Как испугать Java-разработчика"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue