首页 > js 中如何在双引号字符串中引用变量

js 中如何在双引号字符串中引用变量

function clickBtn(btn)

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

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


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

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

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


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


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)
}

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

【热门文章】
【热门文章】