Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2012, 17:15
Интересующийся
Отправить личное сообщение для DragorWW Посмотреть профиль Найти все сообщения от DragorWW
 
Регистрация: 27.06.2011
Сообщений: 15

метод по умолчанию у объектов
В общем интересует следующая возможность: иметь метод по умолчанию при отсутствии метода.
function A() {
    this.one = function () {
        return 'one'
    };
    return 'a';
};
a = new A;

и при этом чтобы перемена выдавала при вызови себя (return 'a' а при вызови a.one соответственно one

В пхп например это метод класса с его именем.

заранее спасибо

---
На самом деле интересует логика например как у массивов.
asd = Array(1,1,1);
при этом при вызови asd мы получим массив, но у него всё же есть методы, как можно сделать нечто подобное

Последний раз редактировалось DragorWW, 18.12.2012 в 17:34.
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2012, 17:49
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

DragorWW, с трудом понял ваш шифр, вы хотите добавить объектам Array свой метод?
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2012, 18:03
Интересующийся
Отправить личное сообщение для DragorWW Посмотреть профиль Найти все сообщения от DragorWW
 
Регистрация: 27.06.2011
Сообщений: 15

Я хочу создать объект который бы при обращение к себе возвращал например переменную.
Сейчас же, если я создам объект a = new A; // a вернет сам объект A { one=function()}
а мне нужно, что бы a вернуло значение из return функции
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2012, 18:11
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

function foo(){

return (function () {
 return 5;
}());

};

alert(foo());
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #5 (permalink)  
Старый 18.12.2012, 18:22
Интересующийся
Отправить личное сообщение для DragorWW Посмотреть профиль Найти все сообщения от DragorWW
 
Регистрация: 27.06.2011
Сообщений: 15

Нет, это не то.
Нужен именно объект который возвращает перемену при обращение к нему.
asd = new foo// вернуло бы 5
Ответить с цитированием
  #6 (permalink)  
Старый 18.12.2012, 18:25
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

function foo(){

};

foo.prototype.one = function () {
 alert("one");
};

var f = new foo;

f.one();
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #7 (permalink)  
Старый 18.12.2012, 18:42
Интересующийся
Отправить личное сообщение для DragorWW Посмотреть профиль Найти все сообщения от DragorWW
 
Регистрация: 27.06.2011
Сообщений: 15

сейчас переменная f возвращает объект foo, если к ней обратиться
var f = new foo; // вернёт foo

а мне нужно что бы было так
var f = new foo; // вернёт 5
Ответить с цитированием
  #8 (permalink)  
Старый 18.12.2012, 19:12
Профессор
Посмотреть профиль Найти все сообщения от godofjavascript
 
Регистрация: 11.12.2012
Сообщений: 265

function Cat(){
   this.valueOf = function(){ return 11 }
}

alert( 3 + new Cat )


Здравствуйте!

Судя по вашему сообщению, вы ну совсем не знаете javascript.

Освойте основы языка и вопрос отпадет сам, полностью или частично.
А с чем не справитесь - поможем.

На сайте javascript можно начать изучать с учебника, раздел Основы javascript.
Возможно, вам также понадобится HTML - учебник есть, например, здесь: http://ru.html.net/tutorials/html/

Задавайте конкретные вопросы по ходу дела.

п.с. valueOf может возвращать только примитивные типы данных, то есть все кроме обьектов

Последний раз редактировалось godofjavascript, 18.12.2012 в 19:15.
Ответить с цитированием
  #9 (permalink)  
Старый 18.12.2012, 20:09
Интересующийся
Отправить личное сообщение для DragorWW Посмотреть профиль Найти все сообщения от DragorWW
 
Регистрация: 27.06.2011
Сообщений: 15

Извиняюсь что так долго мучаю вас, но очень хотелось бы прояснить этот момент для себя.

Нет это опять же не то.

Нашёл что объекты возвращают [[DefaultValue]] либо сам объект, либо значение, в зависимости от типа обьекта.
Есть ли возможность сделать так для своих обьектов

пример:
aaa = new Array(1,1); // выведет [1,1]
function CustomObject() {
this.valueOf = function(){ return 'aaa' }
}
bbb = new CustomObject // выведет CustomObject (сам себя)

как сделать что бы мой объект вёл себя как к примеру array ведёт себя в подобном случае.
Ответить с цитированием
  #10 (permalink)  
Старый 18.12.2012, 20:21
Профессор
Посмотреть профиль Найти все сообщения от godofjavascript
 
Регистрация: 11.12.2012
Сообщений: 265

Сообщение от DragorWW
Нет это опять же не то.
нет это именно то что ты просил

Сообщение от DragorWW
выведет CustomObject (сам себя)
в смысле? а с чего это new CustomObject должен вести себя не как CustomObject ??

Сообщение от DragorWW
Нашёл что объекты возвращают [[DefaultValue]] либо сам объект, либо значение, в зависимости от типа обьекта.
Есть ли возможность сделать так для своих обьектов
есть и я тебе её показал

Сообщение от DragorWW
как сделать что бы мой объект вёл себя как к примеру array ведёт себя в подобном случае.

function CustomObject (){
    return []
}

var qqq = new CustomObject;


кэп

Последний раз редактировалось godofjavascript, 18.12.2012 в 20:25.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка JS объектов браузером по умолчанию estonets Общие вопросы Javascript 3 29.04.2014 17:08
Как найти точки соприкосновения двух объектов в RaphaelJS Fatalityap Библиотеки/Тулкиты/Фреймворки 3 03.08.2012 16:33
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10
Быстрый поиск объектов Shasoft Общие вопросы Javascript 7 30.07.2009 05:28
Добавить свой метод к элементу alekciy Events/DOM/Window 6 16.02.2009 19:29