在javascript类中创建方法事件

时间:2016-01-17 11:37:48

标签: javascript jquery class

在wapp.js中,我在JavaScript中有以下类:

function Wapp() {
    this.page = function($page_name) {
        this.onLoad = function($response) {

        }
    }
    this.navigate = {
        changePage: function(link) {
            // Ajax request to load the page
            $.post(link, {}, function(response) {
                // Code to display the page
            });
        }
    }
}
app.js脚本中的

我有以下代码:

var wapp = new Wapp();

我想这样做:

wapp.page('home').onLoad(function() {
    // doSomething();
}

// When I call the method 'changePage'
wapp.navigate.changePage('home');

// at the end of the page load 'home' I want to call the function 'doSomething()' inside the 'onLoad' method

如何在类中定义方法以确保在某个操作结束时(在这种情况下在ajax调用结束时)运行app.js中'onLoad'方法中定义的代码?

1 个答案:

答案 0 :(得分:2)

在构建类时,您可以将函数作为变量赋值给类。您可以稍后在代码中调用已分配的函数(例如,在另一个函数的末尾)

https://jsfiddle.net/L8c2s6xr/

function func (functionToCall) {
  this.functionToCall = functionToCall;

  this.doSomething = function () {
    this.functionToCall();
  }
}

var f = new func (
  function() {
    alert('this works');
  }
);

f.doSomething();