javascript - js 中如何在双引号字符串中引用变量
ringa_lee
ringa_lee 2017-04-10 17:09:57
[JavaScript讨论组]

function clickBtn(btn)

    {
        setTimeout("btn.value = 'click'",3)
    }
    

我需要在3秒之后来设置button的文字,查询无果,故来相问

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
PHPz

用闭包可以很容易的解决,试试下面的代码:

function clickBtn(btn)
{
    setTimeout(function() {
        btn.value = 'click';
    }, 3000);
}

另外,3秒是3000,setTimeout后面一个参数的单位是毫秒

PHP中文网

var a="yourname";
console.log(""+a+"");

PHP中文网
function clickBtn(btn)
{
    setTimeout("btn.value = 'click'",3)
}

setTimeout指定字符串代码执行的时候是在全局作用域下找btn变量,会执行出错提示ReferenceError: Can't find variable: btn,
不推荐使用这样setTimeout的写法
使用指定函数的写法

function clickBtn(btn)
{
    setTimeout(function(){
     btn.value = 'click';
     console.log(btn.value );
    },3)
}

如果一定要使用原来的写法,那么如下修改

function clickBtn(btn)
{
    window.btn=btn;
    setTimeout("btn.value = 'click';console.log(btn.value)",3)
}

这样会污染全局对象,你的变量有可能被别的函数修改掉,危险~~~~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号