|
|
|
| Вот код:
o={x:2,y:3};
b=false , o;
b.x=7;
alert(o.x);
|
Почему он выводит 2, а не 7? Разве оператор запятая способен извлечь значение, а не ссылку?Ведь если манипуляция объектами происходит только по ссылке, то почему оператор запятая возвращает само значение, а не ссылку? И почему оператор скобки возвращает ссылку? | |
|
|
|
|
|
|
|
для: dump
(23.07.2012 в 17:08)
| | Запятая - единственный оператор, приоритет которого ниже присваивания. Следовательно, после
b=false , o;
alert(typeof b)
|
вернет boolean, а не object. Чтобы получить чего хотите, поместите выражение в скобки, чтобы оно имело приоритет над присваиванием
b=(false , o);
alert(typeof b) //вернет объект
|
| |
|
|
|