setTimeout计时器的问题

打算做个60秒后重新获取验证码的按钮
请问各位老师,下面的这种写法为什么提示语法错误呢?

 setTimeout("var t = 60; if(t>1) {
                this.btn_captcha = t + ['秒后重新获取'];                
                t = t - 1;
            } else {
                this.btn_captcha = ['获取短信验证码'];
              }",1000);

我知道这样写功能上行不通,但是为什么提示说有语法错误呢?规定setTimeout里面不能添加函数,也就是说("此处不能为函数",1000)。
谢谢。

你语法都错了

     var t = 60;
    var timer = setInterval(function () {
        t--;
        if (t == 0) { this.btn_captcha = ['获取短信验证码']; clearInterval(timer); }
        else this.btn_captcha = t + ['秒后重新获取'];
    }, 1000);

setTimeout(aa, 1000);
function aa(){
var t = 60; if(t>1) {
this.btn_captcha = t + ['秒后重新获取'];

t = t - 1;
} else {
this.btn_captcha = ['获取短信验证码'];
}
}