我在document.ready旁边有函数,我想使用变量内的值来调用它们。

认为这是文档中的功能。

$(document).ready(function() {

    function jhon(){
         alert('works');
    };
});


我从一个变量获取函数名称,该变量的值就是函数的名称。

下面的代码将获取URL的哈希部分示例:#JHON并删除#并将其存储在URLHASH变量中。

  var urlhash = document.location.hash;
  urlhash = urlhash.replace(/^.*#/, '');


当我这样打电话时,它不起作用..

  window.onload=function() {
      window[urlhash]();
  };


但是当我这样调用函数时,它工作正常。

  window.onload=function() {
      jhon();
  };


是否可以使用变量值调用函数?

最佳答案

jhon之外定义函数$(document).ready。否则,它将被隐藏,因此无法通过window[function_name]访问:

function jhon(){
     alert('works');
};

$(document).ready(function() {
  var urlhash = document.location.hash;
  urlhash = urlhash.replace(/^.*#/, '');
  window[urlhash]();
});

关于javascript - 使用window [variablename]()调用函数;在document.ready中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12229586/

10-11 14:15