因为window.close(); 需要一点时间 alert()方法在执行时会使整个程序员终止
说白了 就是 window.close()还没来得及关闭窗口 alert()就把程序终止了 等alert()完了 又把close()给搞忘了
您可以这样去测试
<html> 
<script language="javascript"> 
function test() { 
window.close(); 
setTimeout("alert('有我就不能关闭的说~~')",200)

</script> 
<body> 
<input type="button" name="button" value="能关闭吗?" onclick=test()> 
</body> 
</html>