Home  >  Q&A  >  body text

javascript - window.open 为什么没有反应?



<script> function openwin(){ open = confirm('open?') if(open){ var url = prompt('url',"http://weibo.com"); window.open(url); } } </script> <input type="button" value="openwin" onClick="openwin();" >

如果是上面这样,不会弹出新窗口,而如果是下面这样就可以弹出窗口,什么原因?



<script> function openwin(){ if(confirm('open?')){ var url = prompt('url',"http://weibo.com"); window.open(url); } } </script> <input type="button" value="openwin" onClick="openwin();" >
PHPzPHPz2749 days ago402

reply all(4)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 14:43:10

    汗,因为你用了open全局变量啦,解析器把open解析成了window.open所以window.open这个函数被你的confirm结果覆盖了!

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:43:10

    open 没有var吧

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 14:43:10

    在浏览器下,直接定义的变量,方法,都是在window下面的

    var method = function(){}
    
    method  == window.method
    

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 14:43:10

    所以你要習慣用 strict 模式,爲定義變量一定要聲明,而且要有用 IIF。

    壞習慣害了你。。。

    function openwin(){
        var open = confirm('open?')
            if(open){
                var url = prompt('url',"http://weibo.com");
                window.open(url);
            }
        }
    

    reply
    0
  • Cancelreply