JavaScript 函数只有 setTimeout 才能工作

标签 javascript settimeout alert

function sayHello(name)
    {
        var prompt = "Hello, " + name + "!";
        function asd()
        {
            alert(prompt);
        }
    }

此代码不起作用。我有一个带有按钮的 HTML 文件,其中有一个 onClick='sayHello("MyName")'。它不起作用,除非我在内部函数之后添加一个 setTimeout(asd, 0); 。知道为什么(或者我做错了什么)吗?我刚刚开始 JS,这对我来说很奇怪。

最佳答案

记住调用您的函数

function sayHello(name) {
    var prompt = "Hello, " + name + "!";
    function asd() {
        alert(prompt);
    }
    asd(); // invoke
}

关于JavaScript 函数只有 setTimeout 才能工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18208740/

相关文章:

javascript - 为什么 setTimeout 在此函数中不起作用?

logging - 一个带有错误通知的好的日志监控工具?

css - 单击关闭按钮时,我的 Bootstrap 警报框不会关闭

javascript - 属性 'pipe' 不适用于 `zip` 运算符?

javascript - 忽略点击超时

javascript - 使用 WebDriver(HtmlUnit、Ruby 绑定(bind))时是否可以忽略 JavaScript 异常

javascript - 如何确保包含多个 $.ajax 调用的函数完全同步运行,并允许浏览器在执行时重新绘制

javascript - 使用alertify.js 进行递归会导致自动关闭警报

javascript - 从由 PHP echo 生成的表行单元格中的按钮执行 Javascript 函数

javascript - 如何在 header 中正确提供身份验证 token ,以便 graphql 不会重定向到登录页面?