Javascript - 相同的函数不以相同的方式运行
Javascript - equal functions do not behave in the same manner
如果在 html 中单击(鼠标左键)test.jpg,
对于 代码 1:在新选项卡中打开一个空白页面。 (糟糕的结果)
对于 代码 2:test.jpg 页面在新选项卡中打开。 (好的)
Code1 : used opek.window (等于开到 open.window)
<script>
window.opek = function(x,y,z){window.open(x,y,z)}
function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
<img src="test.jpg" onclick="onlyyou(this.src)">
Code2 : 使用 open.window
<script>
window.opek = function(x,y,z){window.open(x,y,z)}
function onlyyou(url){
var NowWindow=window.open('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
<img src="test.jpg" onclick="onlyyou(this.src)">
对我来说,它看起来 window.opek 等于 window.open.
但为什么 代码 1 的行为方式不同?
实际上我创建了一个函数,包含window.open。创建的函数无法正常工作。因此,我深入挖掘,发现即使是看起来完全相同(至少对我而言)的函数也不会以相同的方式工作。
那是因为在您的 代码 1 中您没有 returning window
objectback。将您的函数更新为 return new window 它将起作用:
<script>
window.opek = function(x,y,z){ return window.open(x,y,z); }
function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
如果在 html 中单击(鼠标左键)test.jpg,
对于 代码 1:在新选项卡中打开一个空白页面。 (糟糕的结果)
对于 代码 2:test.jpg 页面在新选项卡中打开。 (好的)
Code1 : used opek.window (等于开到 open.window)
<script>
window.opek = function(x,y,z){window.open(x,y,z)}
function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
<img src="test.jpg" onclick="onlyyou(this.src)">
Code2 : 使用 open.window
<script>
window.opek = function(x,y,z){window.open(x,y,z)}
function onlyyou(url){
var NowWindow=window.open('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>
<img src="test.jpg" onclick="onlyyou(this.src)">
对我来说,它看起来 window.opek 等于 window.open.
但为什么 代码 1 的行为方式不同?
实际上我创建了一个函数,包含window.open。创建的函数无法正常工作。因此,我深入挖掘,发现即使是看起来完全相同(至少对我而言)的函数也不会以相同的方式工作。
那是因为在您的 代码 1 中您没有 returning window
objectback。将您的函数更新为 return new window 它将起作用:
<script>
window.opek = function(x,y,z){ return window.open(x,y,z); }
function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}
</script>