window.Onload= function() { alert('此 JS 代码可执行');
var oWeib = document.getElementById('weib'); var oCaid = document.getElementsByClassName('caid'); var oA = document.getElementById('wb'); function tan() { alert(oA.getAttribute('href')); } oA.setAttribute = ("href","www.baidu.com"); oA.Onclick= tan(); tan();
}
第一个 alert 和 tan()函数里的 alert 都会弹窗,但是后面的 set 就没有效果。 onclick 的点击事件也会被忽略然后直接触发 tan()函数。
![]() | 1 zjsxwc 2018-12-17 11:26:21 +08:00 ![]() oA.Onclick= tan; |
![]() | 2 shintendo 2018-12-17 11:28:20 +08:00 ![]() tan()是函数返回值,tan 才是函数 |
3 linchengzzz 2018-12-17 14:01:36 +08:00 oA.Onclick= () => tan(); 或者 oA.Onclick= tan; |
![]() | 4 lukunlin 2018-12-17 14:48:22 +08:00 在 Js 里,记住,任何函数加()就是执行,除了.bind 一些特殊引向函数,然后你的函数没有写 return,那默认就是 return 的 undefined,所以你把一个函数执行的结果,undefined 复制给了一个 onevent,当然没效果 |
![]() | 5 beyoung 2018-12-17 15:37:04 +08:00 还以为是个大新闻呢 |