ФорумПрограммированиеJavaScript → контекст this внутри другой функции

контекст this внутри другой функции

  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2011 г. 15:39

    Постоянно сталкиваюсь с таким кодом:


    var _this = this;
    $.post( this.getUrl( 'gameConnect' ), { 'gameId' : gameId }, function( game ) {
    _this.connectedToGame( game );
    });


    Как можно красиво избавиться от var _this = this; и возможно ли такое в принципе в js. Помню раньше, как-то решал это, сейчас давно не кодил, не могу ничего вспомнить
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 21 июля 2011 г. 15:56, спустя 16 минут 54 секунды

    Как можно красиво избавиться от var _this = this; и возможно ли такое в принципе в js. Помню раньше, как-то решал это, сейчас давно не кодил, не могу ничего вспомнить

    да можно, см. код vasa_c с 77 строки http://code.google.com/p/go-js/source/browse/go.js
    Спустя 218 сек.
    или посмотри jQuery.proxy()
    Спустя 60 сек.
    $("#test").click(jQuery.proxy(object, "methodName"));
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 21 июля 2011 г. 16:09, спустя 13 минут 24 секунды

    да можно, см. код vasa_c с 77 строки http://code.google.com/p/go-js/source/browse/go.js

    Да, раньше, что-то такое и делал - http://code.google.com/p/go-js/source/browse/go.js#77

    $("#test").click(jQuery.proxy(object, "methodName"));

    То что надо!

Пожалуйста, авторизуйтесь, чтобы написать комментарий!