関数スコープ内に this 値を束縛する

HTML

<ul>
 <li><a href="https://teratail.com/questions/24798">javascriptのプログラム構造について(24798)|teratail</a></li>
</ul>

JavaScript

'use strict';
function SampleClassA () { ; }

SampleClassA.prototype = {
  setDefaultData: function setDefaultData () {
    this.data = {
      pointA: 10,
      pointB: 10,
      pointC: 10,
      pointD: 10
    };
  },
  doDisplay: function doDisplay (/* [window] */) {
    if (arguments.length > 0) {
      var window = arguments[0];
      console.log(window.innerWidth, window.innerHeight);
    }
    console.log(this.data);
  },
  initialEvent: function initialEvent () {
    this.resizeEvent = (function (thisArg, _resizeEvent) { return function resizeEvent (event) { _resizeEvent.call(thisArg, event); }; }(this, this.resizeEvent));
    this.setDefaultData();
    this.doDisplay();
  },
  updateResizeData: function updateResizeData () {
    var data = this.data;
    ++data.pointA;
    ++data.pointC;
  },
  resizeEvent: function resizeEvent (event) {
    this.updateResizeData();
    this.doDisplay(event.target);
  }
};

var sampleA1 = new SampleClassA();
sampleA1.initialEvent();
jQuery(window).on('resize', sampleA1.resizeEvent);