js setTimeout 参数:js语句疑问

代码如下。setTimeout的js语句,如果单独拿出来执行是对的,但是放在setTimeout中就会报错:n is not defined

 <head>
<script type="text/javascript">
    function timed() {
        var n = 0;
        for (n = 1; n <= 5; n++) {
            setTimeout("document.getElementById('txt').value = "+"n"+" + '秒;'", 1000);
            //document.getElementById('txt').value = n + '秒';
        }
    }
</script>
</head>
<body>
<form>
    <input type="button" value="显示计时的文本" onclick="timed()"/>
    <input type="text" id="txt"/>
</form>

把n的双引号去掉就好了

n is not defined的报错是n没有定义就直接使用了