微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript-相等的函数的行为方式不同

如何解决Javascript-相等的函数的行为方式不同

如果在html中单击了test.jpg(鼠标左键),

对于代码1 :在新标签页中将打开一个空白页面。 (不好的结果)

代码2 :在新标签中打开test.jpg页面。 (好)


代码1 :使用了opek.window(等于打开到open.window)

<script>
window.opek = function(x,y,z){window.open(x,z)}

function onlyyou(url){
var NowWindow=window.opek('','_blank','')
NowWindow.document.write('<img src='+url+'>')
}

</script>

<img src="test.jpg" onclick="onlyyou(this.src)">

代码2 :使用open.window

<script>
window.opek = function(x,z)}

function onlyyou(url){
var NowWindow=window.open('','')
NowWindow.document.write('<img src='+url+'>')
}

</script>

<img src="test.jpg" onclick="onlyyou(this.src)">

对我来说, window.opek 等于 window.open

但是为什么代码1 的行为方式不同?

实际上,我创建了一个包含window.open的函数。创建的函数无法正常工作。因此,我进行了深入研究,甚至找出了一个功能(至少对我而言)看起来完全相同(至少对我而言)的功能无法以相同的方式工作。

解决方法

这是因为在您的代码1 中,您没有返回window对象返回。将您的功能更新为返回新窗口,它将起作用:

<script>
  window.opek = function(x,y,z){ return window.open(x,z); }

  function onlyyou(url){
    var NowWindow=window.opek('','_blank','')
    NowWindow.document.write('<img src='+url+'>')
  }

</script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。