renovations

This commit is contained in:
Ilya Kantor 2015-01-14 10:23:45 +03:00
parent c7d4c7e3ff
commit e1948130f6
170 changed files with 1496 additions and 1161 deletions

View file

@ -0,0 +1,10 @@
# Первый alert(foo)
Возвращает строковое представление объекта, используя `toString`, т.е. `"foo"`.
# Второй alert(foo + 1)
Оператор `'+'` преобразует объект к примитиву, используя `valueOf`, так что результат: `3`.
# Третий alert(foo + '3')
То же самое, что и предыдущий случай, объект превращается в примитив `2`. Затем происходит сложение `2 + '3'`. Оператор `'+'` при сложении чего-либо со строкой приводит и второй операнд к строке, а затем применяет конкатенацию, так что результат -- строка `"23"`.

View file

@ -0,0 +1,24 @@
# Преобразование
[importance 5]
Объявлен объект с `toString` и `valueOf`.
Какими будут результаты `alert`?
```js
var foo = {
toString: function () {
return 'foo';
},
valueOf: function () {
return 2;
}
};
alert(foo);
alert(foo + 1);
alert(foo + "3");
```
Подумайте, прежде чем ответить.