gpt4 book ai didi

javascript - 使用 window[variablename]() 调用函数;在 document.ready 中

转载 作者:行者123 更新时间:2023-11-28 16:13:17 26 4
gpt4 key购买 nike

我在 document.ready 中有函数,我想使用变量内的值来调用它们。我尝试使用 window[variablename]();但它在 document.ready 中不起作用,但直接调用它时它可以工作..

认为这是document.ready内部的函数

$(document).ready(function() {

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

我从变量中获取函数名称,该变量的值是函数的名称..

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

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

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

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

但是当我像这样调用该函数时它工作正常..

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

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

最佳答案

这个:

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

包含拼写错误:urlhashed 应该是 urlhash

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

除此之外,您还在另一个函数中定义了 jhon() ,该函数在该封闭函数范围内捕获了它。

如果您想让这项工作按预期进行,您应该更改此设置:

$(document).ready(function() {

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

更像这样:

$(document).ready(function() {

window.jhon = function(){
alert('works');
};
});

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com