Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 16.10.2012, 12:00
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

я запускаю метод b() через setTimeout, и из за этого не работает, а если запускаю без него всё работает!
но нужна задержка в полторы секунды, как быть?
setTimeout(c.b,1500);
Ответить с цитированием
  #12 (permalink)  
Старый 16.10.2012, 12:06
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Так правильно:
function Class(){
	 this.qqq = function(){
		alert("А не как хочется");
	}

	 this.ggg = function(){

		this.qqq(); // не работает такой способ вызова
	}
}
		
var qqq = function(){
	alert("Работает так как и должно!");
}
		
var t = new Class();
setTimeout(t.ggg, 1500);
__________________
.
Ответить с цитированием
  #13 (permalink)  
Старый 16.10.2012, 12:06
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

function Class(){
   this.a = function(){
      alert('все работает');
   }

   this.b = function(){
      this.a(); 
   }
}
var c = new Class();


setTimeout(c.b,1500);

Попробуйте сами этот код!
Ответить с цитированием
  #14 (permalink)  
Старый 16.10.2012, 12:08
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Почему так оно сработало???
Ответить с цитированием
  #15 (permalink)  
Старый 16.10.2012, 12:12
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Почему оно вызвало функцию а не метод? я понял что с этим как то связан setTimeout и this
Ответить с цитированием
  #16 (permalink)  
Старый 16.10.2012, 12:13
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Потому, что вызов идёт от объекта window, то есть this там не ваш Class, а window.
function Class(){
	 this.qqq = function(){
		alert("А теперь как надо и как хочется");
	}

	 this.ggg = function(){

		this.qqq(); // не работает такой способ вызова
	}
}
		
var qqq = function(){
	alert("Не запуститься");
}
		

setTimeout(function(){
	 var t = new Class();
	 t.ggg();
}, 1500);
__________________
.
Ответить с цитированием
  #17 (permalink)  
Старый 16.10.2012, 12:14
Аватар для Magneto
Люмус, Емаксос Developer!
Отправить личное сообщение для Magneto Посмотреть профиль Найти все сообщения от Magneto
 
Регистрация: 06.05.2010
Сообщений: 677

Сообщение от qwermjk
Почему так оно сработало???
Потому что ты не знаешь основ JavaScript, а уже пытаешься писать псевдоклассы.
Ответить с цитированием
  #18 (permalink)  
Старый 16.10.2012, 12:19
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Skipp,
Спасибо большое!!! я теперь понял ..
...
this.filter = 'div';
this.qqq = 123;
...
this.ttt = function(){
   $(this.filter).each(function(){
      alert(this.qqq)
   });
}

Можно как нибудь такой случай обойти?? без использования объевляния дополнительной переменной
Ответить с цитированием
  #19 (permalink)  
Старый 16.10.2012, 12:20
Профессор
Отправить личное сообщение для qwermjk Посмотреть профиль Найти все сообщения от qwermjk
 
Регистрация: 31.01.2010
Сообщений: 229

Magneto,
не пытаясь что то делать, уровень знаний останется на месте
Ответить с цитированием
  #20 (permalink)  
Старый 16.10.2012, 12:22
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Ээмм вот так?
this.ttt = function(){
   $("div").each(function(){
      alert(123)
   });
}
__________________
.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вызов метода jQuery по ссылке Murlakatam jQuery 1 29.04.2012 19:46
Вызов метода Ваня в бане Общие вопросы Javascript 2 06.02.2012 13:55
Вызов метода через setTimeout из самого себя leoHex Events/DOM/Window 2 18.04.2011 00:28
Наследование класса-замыкания и вызов метода предка BobiKK Общие вопросы Javascript 2 21.03.2010 13:26
AJAX, вызов из метода обьекта Logo Общие вопросы Javascript 4 20.06.2009 23:35