Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 03.12.2014, 18:53
Профессор
Отправить личное сообщение для Siend Посмотреть профиль Найти все сообщения от Siend
 
Регистрация: 04.02.2012
Сообщений: 196

Цитата:
Как this, естественно. Но Вы по-прежнему не понимаете, как это работает, иначе этого вопроса бы не возникло просто.
не совсем, я понимать начинаю по мере объяснений и сейчас стал еще на шаг ближе к этому) Все равно всем спасибо, теперь я думаю смогу справится сам. Только один мелкий вопросик, а как мне обратиться к каждому элементу canvas? есть какая-нибудь функция для перебора их?
Ответить с цитированием
  #32 (permalink)  
Старый 03.12.2014, 18:56
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от Siend
а как мне обратиться к каждому элементу canvas? есть какая-нибудь функция для перебора их?
Цикл?
Ответить с цитированием
  #33 (permalink)  
Старый 03.12.2014, 18:56
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Не получается, набрался наглости попросить показать как из того что было

var FormField=function(elem){
	var	type=		elem.type,
		def=		elem.value,
		rules={};

	return {
		validate:function() {
			value=elem.value.trim();
			if(type in rules)
				rules[type]();
			else
				rules.text();
		}
	};
};

// load

var some[]=FormField[elem];


сделать правильный объект, который бы содержал только данные, а методы держал бы в прототипе.

На php такая задача решается через скажем protected static function(), поскольку статика не создает экземпляров. Ну и там еще легко делаются геттеры с сеттерами всякие. В итоге в объекте может быть ровно 1 array в качестве тех самых данных.
Ответить с цитированием
  #34 (permalink)  
Старый 03.12.2014, 18:57
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

tsigel, уверен что это правильно будет работать?

var Class = (function () {
 
   var private
   var Class = function () {}
 
   Class.prototype.setPrivate = function(value) {
      private = value;
   };
   Class.prototype.getPrivate = function() {
      return private;
   };
 
 
   return Class;
})();

var o1 = new Class();
var o2 = new Class();
o1.setPrivate('x');
o2.setPrivate('y');

alert( o1.getPrivate() );
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #35 (permalink)  
Старый 03.12.2014, 18:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от krutoy
Методы могут быть определны в том ж замыкании, вариантов тьма.
Мне пожалуйста всего один, на случай, когда методы определены в прототипе (ну то есть самый верный вариант).
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #36 (permalink)  
Старый 03.12.2014, 19:00
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от Siend
SomeConstructor.prototype.drawMultiSelect() {
И, кстати, откуда Вы взяли такой синтаксис?
SomeConstructor.prototype.drawMultiSelect=function(){}

надо по-идее. У Вас что, это работает?
Ответить с цитированием
  #37 (permalink)  
Старый 03.12.2014, 19:04
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

danik.js,
А для синглтона подойдет XD

Я предпочитаю на "_" и доках выезжать. без замут с замыканиями.

Если поизвращаться, то наверно можно создать в замыкании массив объектов scope, каждый из которых соответствовал бы конкретному экземпляру.
Ответить с цитированием
  #38 (permalink)  
Старый 03.12.2014, 19:06
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от tsigel
Я предпочитаю на "_" и доках выезжать. без замут с замыканиями.
Потому что насколько я знаю, с замыканиями не сделаешь нормально.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #39 (permalink)  
Старый 03.12.2014, 19:10
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от danik.js
Мне пожалуйста всего один, на случай, когда методы определены в прототипе (ну то есть самый верный вариант).
clos=function(arg){
var proto={get: function(){alert(this.a)}}
var o=Object.create(proto)
o.a=1
return o[arg]()
}

clos("get")
Ответить с цитированием
  #40 (permalink)  
Старый 03.12.2014, 19:13
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Сообщение от danik.js
Потому что насколько я знаю, с замыканиями не сделаешь нормально.
Замыкания -- это вообще зло, потому как это полпути к класс-ООП. Но сделать все можно.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать кнопку, для проигрывания музыки! Как? Foleyer Общие вопросы Javascript 13 11.04.2013 16:43
Подскажите как создать пиксельную сетку sovereignsouls Элементы интерфейса 5 01.03.2013 10:37
Как создать задержку перед .html() Could jQuery 1 17.07.2011 13:42
Как создать Дата,время,открытие сайта Антон Internet Explorer 1 11.12.2008 22:44
как создать елемент с вложеными елементами scuter Events/DOM/Window 11 14.05.2008 16:15