метод по умолчанию у объектов
В общем интересует следующая возможность: иметь метод по умолчанию при отсутствии метода.
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, время: 16:19. |