Это будет копия или реф объекта? (код внутри)
Внезапно кроме ключей-строк понадобились индексы-номера для доступа к объекту в коллекции объектов примерно такого вида.
inputs[name]={ elem: elem, error: null, type: type, title: elem.title, // тут еще много чего }; а теперь если я вот так напишу inputs[index]=inputs[name]; то inputs[index] будет рефом (ну или копией рефа), или в него все это целиком запишется? |
kostyanet,
Конечно рефом. Ты же не копируешь, а просто ссылку кидаешь. |
Почему конечно? По какому признаку оно определяется? Ну то есть скажем в php я бы написал $inputs[index] =& $inputs[name] - сразу все видно. С тн live-коллекциями из DOM более-менее понятно, что браузер скопилил на то и ссылки. А что и свои объекты-массивы в js все такие же?
|
Цитата:
|
alert( inputs[index]===inputs[name]); inputs[index].newProp = 1; alert(inputs[name].newProp); |
kostyanet,
По очень простому o={} o_={ a: o, } o_.b=o_.a alert(o_.a===o_.b) |
Нет, я-то сделал, работает, но как-то не ясно было как, хоть похеру все равно, клиент же жырный, пусть и копируется.
Цитата:
|
Цитата:
|
kostyanet,
Да какой признак. В JS ничего под ковром не копируется. Все явно создается, а затем наполняется ссылками на уже существующее. |
Цитата:
var element = document.createElement('div'); element.id = 'abc'; alert(element.attributes['id'].value); alert(element.attributes[0].value); |
Часовой пояс GMT +3, время: 13:31. |