发布于2021-01-31 17:04 阅读(1056) 评论(0) 点赞(25) 收藏(0)
以下是构建链接的两种方法,其唯一目的是运行JavaScript代码。在功能,页面加载速度,验证目的等方面哪个更好?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
要么
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
我用javascript:void(0)
。
三个原因。鼓励#
在一组开发人员中使用,不可避免地导致某些人使用这样的函数的返回值:
function doSomething() {
//Some code
return false;
}
但是后来他们忘记return doSomething()
在onclick中使用,而只使用doSomething()
。
避免的第二个原因#
是,return false;
如果被调用的函数抛出错误,则最终语句将不会执行。因此,开发人员还必须记住在调用的函数中适当地处理任何错误。
第三个原因是在某些情况下onclick
会动态分配事件属性。我更希望能够调用一个函数或动态分配它,而不必专门针对一种附加方法或另一种附加方法对函数进行编码。因此,我onclick
(或任何形式)的HTML标记如下所示:
onclick="someFunc.call(this)"
要么
onclick="someFunc.apply(this, arguments)"
使用javascript:void(0)
可以避免上述所有麻烦,而且我还没有发现任何不利方面的例子。
因此,如果您是一个孤独的开发人员,那么您可以明确地做出自己的选择,但是如果您是团队合作,则必须声明以下两种情况:
使用href="#"
,请确保onclick
始终return false;
在最后包含任何被调用的函数都不会引发错误,并且如果您将函数动态地附加到该onclick
属性,请确保它不会抛出错误也返回false
。
要么
利用 href="javascript:void(0)"
第二种显然更容易沟通。
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/110/b6f8c2b1a464134bcb0b/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!