为什么不行

为什么不行

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>location对象</title>
    </head>
    <body>
        <input type="button" value="打开页面" id="open">
       
         <script type="text/javascript">
           //补充代码
           var tt;
           var a1=document.getElementsByTagName("input")[0];
           a1.onclick=function(){
               tt=confirm("打开慕课网");
           }
           if(tt){
             window.open('http://www.imooc.com');
           }
    </script>
    </body>
  
</html>

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
提问者 攻下这座城 2018-07-30 20:49:21

原因应该是if判断没放进事件里面,但是js不是也应该从上向下执行吗,if不是应该也会在事件过后执行吗?然后就打开慕课网


  • 如果代码不写到事件中,会在页面加载的时候就执行了。而那时候tt并没有值,所以不能打开慕课网。而当再执行单击事件时,后面的代码就不会执行了。
    2018-07-31 10:15:06
  • 提问者 攻下这座城 回复 好帮手慕阿莹 #2
    还可不可以这样理解,因为js函数会前置,然后在函数外面声明的变量就变到函数后面去了,所以函数执行的 tt=confirm("打开慕课网"); 并不能改变变量tt的值。
    2018-07-31 11:11:55
  • 好帮手慕阿莹 回复 提问者 攻下这座城 #3
    是的,同学可以尝试把tt的初始值设置为true,是可以直接打开的慕课网的。
    2018-07-31 11:34:33
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师