javascript - 调用 jQuery Extend 中的另一个方法

标签 javascript jquery

var mymethod = {  
    init: function(options){  
    //initialize  
    //how to call buildhtml from here;
    },  
    buildhtml: function(){  
    //build inner html  
    },  
    sendrequest: function(){  
    //make ajax to send request  
    //can I call hoocrequest from here;
    },  
    hoocrequest: function(){  
    //hooc ajax return value  
    }  
};

如何从 init 或其他调用 buildhtml 或其他?

最佳答案

var mymethod = {  
    init: function(options){
       this.buildhtml();
    },  
    buildhtml: function(){  
       alert('build');
    }
};

mymethod.init();

http://jsfiddle.net/xm5M8/

如果您从不同的上下文调用 init,则此方法将不起作用。例如:

var fn = mymethod.init;
fn(); // type error

在这种情况下,您需要将上下文绑定(bind)到函数引用:

var fn = mymethod.init.bind(mymethod);
fn(); // works now

或者在调用函数时提供上下文:

var fn = mymethod.init;
fn.call(mymethod); // works now

关于javascript - 调用 jQuery Extend 中的另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6870059/

相关文章:

javascript - GRUNT - 安装 Grunt 软件包?

javascript - 如何创建包含异步调用的 Javascript (es5) 构造函数

javascript - 创建一个具有固定左右列的 HTML 表格

javascript - 如何执行带有错误响应的 JSON api 调用?

javascript - $.ajax 干扰此脚本中的 .hide() 和 .show() Jquery

javascript - 自动和手动滑动图像

javascript - 在 HTA 文件中使用 Javascript 从 Windows 注册表读取/写入

javascript - 单击禁用一段时间不适用于 jQuery

javascript - 压缩 Javascript/jQuery 代码

javascript - 在 Facebook 上运行 JQuery 或 Javascript