setTimeout问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#blink {
    display: inline;
}
</style>
<script type="text/javascript">
window.onload=function () {
    var currentStyle = 'inline';
    blinkSpan();
    function blinkSpan(){
        if(currentStyle=='inline'){
            currentStyle='none';
        }else{
            currentStyle='inline';
        }
        document.getElementById('blink').style.display = currentStyle;
        setTimeout("blinkSpan()",1000);     //"blinkSpan()"这种写法不行,不知道为什么,只能写成blinkSpan
    }   
}
</script>
</head>
<body>
<span id="blink">__</span>
</body>
</html>

 如红色的地方,为什么不行?新手求问呢!

改成setTimeout(blinkSpan,1000);
因为setTimeout的第一个参数是字符串的话,那么他会在全局作用域里执行这个字符串对应的代码,很显然blinkSpan不是全局函数,所以会报错。

很奇怪,怎么一个js函数里面出现了标签?

改成setTimeout(blinkSpan,1000);