Скопируйте и расширьте глобальные объекты в JavaScript

существует ли способ скопировать глобальный объект (Массив, Строка...) и затем расширить прототип копии, не влияя на исходную? Я попробовал этим:

var copy=Array;
copy.prototype.test=2;

Но если я проверяю Array.prototype.test это 2, потому что объект Массива передается ссылкой. Я хочу знать, существует ли способ заставить переменную "копии" вести себя как массив, но это может быть расширено, не влияя на объект исходного массива.

5
задан mck89 2 March 2010 в 13:30
поделиться

2 ответа

Хороший вопрос. У меня такое чувство, что вам, возможно, придется написать для этого класс-оболочку. По сути, с помощью copy.prototype.test = 2 вы устанавливаете прототип класса, который (конечно) будет виден для всех экземпляров этого класса.

2
ответ дан 15 December 2019 в 06:24
поделиться

Вместо того, чтобы расширять прототип, почему бы вам просто не расширить переменную копии. Например, добавляя функцию

copy.newFunction = function(pParam1) { 
      alert(pParam1);
};
0
ответ дан 15 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: