为什么使用“this”来调用jquery中的函数

时间:2012-01-27 06:52:51

标签: jquery oop jquery-ui

我有以下代码。在下面的代码中,有两个函数调用另一个函数。但是我无法理解为什么一旦用这个函数调用该函数,另一个时候在同一个函数中调用相同的函数。

 var widgetMethods = {

    getWidgetData: function($widgetElement) {

          var widgetData = $widgetElement.data('widgetData');

          widgetData = (typeof widgetData == 'undefined')  ? { type: null, key: null } : widgetData;

          if( widgetData.type == null ) {
            console.log("Widget type is not specified!");
            return false;
          }

          if( widgetData.key == null ) {
            console.log("Widget key is not specified!");
            return false;

          }
          return widgetData;
        },

    editWidget: function(key, options) {  

          var $self = jQuery(this);
          var widgetData = widgetMethods.getWidgetData($self);
          }

    getWidgetTemplate: function($widgetElement) {

          var widgetData = this.getWidgetData($widgetElement);
          }


    }

有人能帮助我吗?我很迷惑。请简要描述一下。

1 个答案:

答案 0 :(得分:0)

这是指调用该函数的元素的当前指针。因此,您可以使用“this”传递当前元素。但是,当您调用不是由同一元素引用的其他函数时,您需要传递相同的属性才能使用它。

如果您感到困惑,请查看此http://msdn.microsoft.com/en-us/library/y0dddwwd.aspx

:)