Показать сообщение отдельно
  #3 (permalink)  
Старый 16.05.2011, 03:14
Аватар для Ivan Galin
Новичок на форуме
Отправить личное сообщение для Ivan Galin Посмотреть профиль Найти все сообщения от Ivan Galin
 
Регистрация: 16.05.2011
Сообщений: 6

Сообщение от Matre
Функция возвращает константу в любом случае
все решает тип значения в массиве
  • если элементом массива является элементарное значение - то функция возвратит копию этого значения
  • если в массиве хранятся объекты типа Number - то функция вернет ссылку, но изменить его нельзя
Цитата:
Объект Number(числовой объект) имеет тип Object и является экземпляром встроенного объекта Number. То есть, числовой объект создается при помощи конструктора Number директивой new, при этом в качестве аргумента конструктора передаётся число. Результирующий объект обладает неявным (безымянным) свойством, содержащим это численное значение.
можно так:
var a=[{v:111},{v:222},{v:333},{v:444}];
function get(i){return a[i]};
console.log(a[2].v)    // 333
get(2).v = 555;
console.log(a[2].v)    // 555

или так:
var a=[111,222,333,444];
function get(i){return function(v){return a[i]=v}};
var set2 = get(2);
console.log(a[2])    // 333
set2(555);
console.log(a[2])    // 555
Ответить с цитированием