Сообщение от 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