Heim > Fragen und Antworten > Hauptteil
<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();" >
PHP中文网2017-04-10 14:43:10
汗,因为你用了open
全局变量啦,解析器把open
解析成了window.open
所以window.open
这个函数被你的confirm
结果覆盖了!
大家讲道理2017-04-10 14:43:10
在浏览器下,直接定义的变量,方法,都是在window下面的
var method = function(){}
method == window.method
高洛峰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);
}
}