Why has the author of this code used the .call method? Surely he could have just accessed the prototype?
<p>Im looking through some code (unfortunatly the author isnt around anymore) and im wondering why he has used the .call method.</p>

<pre><code>hmlPlaylist.prototype.loadVideos = function () {
    var scope = this;

    this.config.scriptUrl = '_HMLPlaylistAjax.aspx?' + Math.random();

    jQuery.ajax({
        type: 'GET',
        url: this.config.scriptUrl,
        success: function (d, t, x) {
            scope.loadVideos_callback.call(scope, d);
        },
        error: function () {
        }
    });
};

hmlPlaylist.prototype.loadVideos_callback = function (data) {
    var jsonData = '';
    var jsonError = false;

    try {
        jsonData = eval("(" + data + ")");
    } catch (jError) {
        jsonError = true;
    }

    if (!jsonError) {

        if (jsonData.playlists.length &gt; 0) {
            this.buildPlaylistList(jsonData.playlists);
        }
        if (jsonData.videos.length &gt; 0) {
            this.buildVideoList(jsonData.videos);
            this.bindVideoNavs();
        }
    }
    else {

        // no json returned, don't do anything
    }
};
</code></pre>

<p>Obviously he seems to have used it to pass a 'this' reference to the loadVideos_callback method but why? The 'loadVideos_callback' method is attached to the prototype of 'hmlplaylist' which is the 'class'. So if you access this inside the 'loadVideos_callback' method you get to the same thing dont you?</p>
