变量可以存window对象(不确定是不是这个称呼)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>打开/关闭页面</title>
</head>
<body>
<input type="button" value="关闭本页面" id="close">
<input type="button" value="打开慕课网" id="open">
<script type="text/javascript">
//补充代码
var btnClose=document.getElementById('close');
var btnOpen=document.getElementById('open');
var test;
btnOpen.onclick=function(){
test=window.open("http://www.imooc.com","imooc");
// console.log(test);
}
btnClose.onclick=function(){
test.close();
}
</script>
</body>
</html>
var test=window.open("http://www.imooc.com","imooc")这里的test是windows对象吗,变量可以存windows对象吗。
正在回答
同学你好,抱歉第一次分析的不完整。可以做如下分析:
(1)直接点击“关闭页面”,是无法关闭的。因为执行btnClose.onclick的脚本的话,btnOpen.onclick没有被触发,那么test变量还是初始默认值为undefined,所以test.close();方法也会无法生效的,会报错:
(2)假如先执行“打开页面”,再执行“关闭页面”,这时候test不是window对象,是window.open("http://www.imooc.com","imooc");,但这个并不是一个window对象。可以打印看一下:
打印的意思是一个全局变量。所以也不能实现关闭页面的效果。基于此情况,所以建议在回复一中建议关闭页面使用window.clost()。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星