这是一个打开和关闭新窗口的例子,里面我有疑惑,请求助。

<head>
<script type="text/javascript">
function dk(){ 
myWeb=window.open("","","width=500,height=500");

//为什么这里不用定义就直接赋值了,如果改为var myWeb=window.open("","","width=500,height=500");则下面就关闭函数就调用不了,当点击closeweb链接的时候,没有反应

myWeb.document.write("This is 'poem'");
myWeb.document.write("<img src=\"images/Koala.jpg\"/>");
}
function closeWin()
  {
  myWeb.close()
  }
</script>
</head>
<body>
<a href="#" onclick="dk()">openweb</a>
<a href="#" onclick="closeWin()">closeweb</a>

</body>

superli18
浏览 1735回答 3
3回答

李晓健

因为不加 var 定义的话,就直接定义成全局变量,也就是可以理解为什么加了 var 关闭方法就调不了

哥特式KK

在函数中定义变量时,如果前面不加var,就是定义了一个全局变量,此时关闭函数就能所引到,如果加了var就是一个局部变量。下面不会所引到,可以看到调试窗口中会有Uncaught ReferenceError: myWeb is not defined的错误
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript