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 1
oA.onclick = tan;
|
2
shintendo 2018-12-17 11:28:20 +08:00 1
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
还以为是个大新闻呢
|