Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.02.2013, 15:38
Интересующийся
Отправить личное сообщение для ololosh Посмотреть профиль Найти все сообщения от ololosh
 
Регистрация: 25.07.2012
Сообщений: 27

"тот" пример:
function User() {
  this.id = 1;

  this.sayHi = function() { 
    alert(this.id); 

  }.bind(this);

}

var user = new User();

setTimeout(user.sayHi, 1000); // выведет "1"


Мой код выше с obj - аналогичен, только у меня сразу объект, без функции-конструтора.
Ответить с цитированием
  #12 (permalink)  
Старый 25.02.2013, 15:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

Сообщение от ololosh
Мой код выше с obj - аналогичен
Да ты чё!?
Ответить с цитированием
  #13 (permalink)  
Старый 25.02.2013, 15:47
Интересующийся
Отправить личное сообщение для ololosh Посмотреть профиль Найти все сообщения от ololosh
 
Регистрация: 25.07.2012
Сообщений: 27

Ок, конструктива с твоей стороны не будет, я понял. Просто не отписывайся тут и всё.
Ответить с цитированием
  #14 (permalink)  
Старый 25.02.2013, 15:48
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

setTimeout(user.sayHi, 1000);

Тут user - объект, а sayHi - его метод.

А что у тебя?
Сообщение от ololosh
func = obj.what;
Что есть func у тебя?
Ответить с цитированием
  #15 (permalink)  
Старый 25.02.2013, 15:49
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

Сообщение от ololosh
конструктива с твоей стороны не будет, я понял
Ты спец - тебе видней про конструктив...
Ответить с цитированием
  #16 (permalink)  
Старый 25.02.2013, 15:58
Интересующийся
Отправить личное сообщение для ololosh Посмотреть профиль Найти все сообщения от ololosh
 
Регистрация: 25.07.2012
Сообщений: 27

Мой вопрос и сравнение моего кода с примером по ссылкы - вполне адекватны. И там, и там копирование функции с потерей контекста из-за this

Цитата:
Тут user - объект, а sayHi - его метод.
А что у тебя?
А у меня obj - объект, а what - его метод. Как бы не заметить это трудно.

Цитата:
Что есть func у тебя?
Копирование функции. В примиере она копируется в параметр setTimeout. У меня просто копирование.

Цитата:
Ты спец - тебе видней про конструктив...
Ты этим сейчас только подтверждаешь мои слова.
Просто не отписывай тут и всё. Смысл этой просьбы-то ты должен понимать, она не сложная.
Ответить с цитированием
  #17 (permalink)  
Старый 25.02.2013, 16:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

Сообщение от ololosh
А у меня obj - объект, а what - его метод. Как бы не заметить это трудно.
Только тебе трудно понять что это таки разные места...

Сообщение от ololosh
В примиере она копируется в параметр setTimeout.
"Она" там не копируется, а setTimeout будет выполняеть метод объекта.

Сообщение от ololosh
Просто не отписывай тут и всё.
Твоя просьба услышана...
Ответить с цитированием
  #18 (permalink)  
Старый 25.02.2013, 16:12
Интересующийся
Отправить личное сообщение для ololosh Посмотреть профиль Найти все сообщения от ololosh
 
Регистрация: 25.07.2012
Сообщений: 27

Пиздец, задал вопрос на форуме, вместо того что бы ответить где я ошибаюсь, чел с колобком на аватаре начал писать "да ты че, ухаха", ставя многоточия смайлы после каждой строчки, назвал "тупым доцентом" (это же интернет, зачем тут следить за своим языком, ведь тут можно не бояться получить по ***** за свои слова), на сам мой вопрос отвечать даже не думал. На просьбу перестать флудить чел продолжает это делать и пишет при этом "твоя просьба успешна.....)))))" И даже после этой фразы продолжает писать ахинею

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

Последний раз редактировалось ololosh, 25.02.2013 в 16:25.
Ответить с цитированием
  #19 (permalink)  
Старый 25.02.2013, 16:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

Эээ, а мне теперь можно написать?
Ответить с цитированием
  #20 (permalink)  
Старый 25.02.2013, 18:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ololosh
var obj = {
        id: 123,
        what: function() {
            alert(this.id);
        }.bind(this)
    };
     
    func = obj.what;
    func();
К чему ты привязал метод what через bind(this) ? Правильно, к глобальному объекту (window). А в примере к конструктором к чему идет привязка? Правильно к объекту, на который указывает this при вызове конструктора.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает простой спойлер (jquery) в Joomla dedmusos jQuery 2 27.12.2012 17:29
Вот пример кода на JS Он работает. А вот... Averin500 Events/DOM/Window 1 18.12.2012 22:45
JS работает в Опере, Хроме и Сафари, и не работает в IE & Mozilla Aliena Javascript под браузер 5 04.12.2010 08:15
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45
Работает в Mozilla и не работает в IE Maxidrom Events/DOM/Window 4 27.02.2010 16:37