Наследование функционала классов атомарных типов
Не могу понять, как создать конструктор, расширяющий класс для вещей атомарного типа. Например, я хочу сделать класс N, который ведет себя так же как и Number, но имеет дополнительные методы.
...
N.prototype.doSomething = function(){}; //при этом Number не трогать
var n = new N(5);
x = 3 + n; //8
n.doSomething();
Number.prototype.doSomething; //undefined
То же самое касается String и Boolean. |
FINoM,
Создаёшь iframe, берёшь о туда нужный объект и пользуешься им, меняя прототипы. |
function N(value) {
this.value = value;
}
N.prototype.valueOf = function() {
return this.value;
};
var n = new N(5);
alert(3 + n);
|
Kolyaj, круто.
Как теперь скопировать методы Number в N? Можно, конечно, вручную создать методы, но вопрос интересует с чисто образовательной стороны. |
N.prototype = new Number(); Только не факт, что всё будет работать, как задумано. Скользкая это дорожка :) |
Цитата:
|
Ничего не выйдет.
http://javascript.ru/ecma/part15#a-15.7.4 Цитата:
|
Kolyaj, спасибо. Но текст сложновато написан.
|
FINoM,
Нормально, это спецификация. |
| Часовой пояс GMT +3, время: 16:24. |