метод по умолчанию у объектов
В общем интересует следующая возможность: иметь метод по умолчанию при отсутствии метода.
function A() {
this.one = function () {
return 'one'
};
return 'a';
};
a = new A;
и при этом чтобы перемена выдавала при вызови себя (return 'a';) а при вызови a.one соответственно one В пхп например это метод класса с его именем. заранее спасибо --- На самом деле интересует логика например как у массивов. asd = Array(1,1,1); при этом при вызови asd мы получим массив, но у него всё же есть методы, как можно сделать нечто подобное |
DragorWW, с трудом понял ваш шифр, вы хотите добавить объектам Array свой метод?
|
Я хочу создать объект который бы при обращение к себе возвращал например переменную.
Сейчас же, если я создам объект a = new A; // a вернет сам объект A { one=function()} а мне нужно, что бы a вернуло значение из return функции |
function foo(){
return (function () {
return 5;
}());
};
alert(foo());
|
Нет, это не то.
Нужен именно объект который возвращает перемену при обращение к нему. asd = new foo// вернуло бы 5 |
function foo(){
};
foo.prototype.one = function () {
alert("one");
};
var f = new foo;
f.one();
|
сейчас переменная f возвращает объект foo, если к ней обратиться
var f = new foo; // вернёт foo а мне нужно что бы было так var f = new foo; // вернёт 5 |
function Cat(){
this.valueOf = function(){ return 11 }
}
alert( 3 + new Cat )
Здравствуйте! Судя по вашему сообщению, вы ну совсем не знаете javascript. Освойте основы языка и вопрос отпадет сам, полностью или частично. А с чем не справитесь - поможем. На сайте javascript можно начать изучать с учебника, раздел Основы javascript. Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/ Задавайте конкретные вопросы по ходу дела. п.с. valueOf может возвращать только примитивные типы данных, то есть все кроме обьектов |
Извиняюсь что так долго мучаю вас, но очень хотелось бы прояснить этот момент для себя.
Нет это опять же не то. Нашёл что объекты возвращают [[DefaultValue]] либо сам объект, либо значение, в зависимости от типа обьекта. Есть ли возможность сделать так для своих обьектов пример:
aaa = new Array(1,1); // выведет [1,1]
function CustomObject() {
this.valueOf = function(){ return 'aaa' }
}
bbb = new CustomObject // выведет CustomObject (сам себя)
как сделать что бы мой объект вёл себя как к примеру array ведёт себя в подобном случае. |
Цитата:
Цитата:
Цитата:
Цитата:
function CustomObject (){
return []
}
var qqq = new CustomObject;
кэп |
| Часовой пояс GMT +3, время: 20:37. |