js 变量无法进行调用

2018-12-17 11:20:45 +08:00
 phoenix0

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()函数。

2989 次点击
所在节点    JavaScript
5 条回复
zjsxwc
2018-12-17 11:26:21 +08:00
oA.onclick = tan;
shintendo
2018-12-17 11:28:20 +08:00
tan()是函数返回值,tan 才是函数
linchengzzz
2018-12-17 14:01:36 +08:00
oA.onclick = () => tan(); 或者 oA.onclick = tan;
lukunlin
2018-12-17 14:48:22 +08:00
在 Js 里,记住,任何函数加()就是执行,除了.bind 一些特殊引向函数,然后你的函数没有写 return,那默认就是 return 的 undefined,所以你把一个函数执行的结果,undefined 复制给了一个 onevent,当然没效果
beyoung
2018-12-17 15:37:04 +08:00
还以为是个大新闻呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/518216

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX