【问题标题】:jquery calling a functionjquery调用函数
【发布时间】:2010-06-17 12:20:23
【问题描述】:

再次感谢您的关注。

我喜欢调用一个函数(例如,comment_disp、post_disp 或我稍后创建的任何其他函数)。

我创建了一个带有 url、fname 和 id 的 json 函数,我可以使用 fname 作为函数名吗?

// on document ready runs
json('comments.php','comment_disp');
  • url = 要获取的url
  • fname = 函数
  • name id = post 或任何其他数据 id。
json = function(url,fname,id){
$.getJSON(url,(fname));
}

comment_disp = function(json){
}

【问题讨论】:

    标签: jquery json get


    【解决方案1】:

    函数是 JavaScript 中的一等对象。您可以直接将它们放入参数中,无需将它们的名称作为字符串传输。

    所以不是

    json = function(url,fname,id){ $.getJSON(url,(fname)); }
    

    json = function(url,f,id){ $.getJSON(url, f); }
    

    并将其称为

    json('comments.php', comment_disp);
    

    【讨论】:

    • @Gumbo:我想明确指出应该传输函数本身,而不是它的name。参数名称当然没有区别,它可以(尽管在逻辑上是错误的)保持为fname
    【解决方案2】:

    假设您的函数在“全局范围”中可用(即不写为另一个类/构造函数的私有成员),您可以通过字符串名称调用您的函数,如下所示:

    window['comment_disp']();
    

    这相当于调用

    comment_disp();
    

    【讨论】:

      猜你喜欢
      • 2014-11-10
      • 2011-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多