[理论篇]一.JavaScript中的死连接`javascript:void(0)`和空连接`javascript:;`
2024-09-14 23:34:23
void 运算符
void 运算符会对给定的表达式进行求值,然后直接返回 undefined
void 运算符通常只用于获取 undefined
的原始值,一般使用 void(0)
(等同于 void 0)。在上述情况中,也可以使用全局变量undefined 来代替(假定其仍是默认值)。
<script>
console.log(void(console.log("OK")));
</script>
运行结果
OK
undefined
一般我个人称
javascript:void(0)
死链接
javasccript:; 空连接
而javasccript:;是为空链接,其实他也也是直接返回的undefined,而前者是计算完毕之后返回undefined
推荐使用javascript:;
个人习惯使用前者,好像感觉后置更快点,我感觉在前端就无所谓了!
可以去看看各个大网站是输入使用连接的
模拟
当用户点击一个以 javascript: URI 时,浏览器会对冒号后面的代码进行求值,然后把求值的结果显示在页面上,这时页面基本上是一大片空白,这通常不是我们想要的。只有当这段代码的求值结果是 undefined 的时候,浏览器才不会去做这件 傻事
,所以我们经常会用 void 运算符来实现这个需求
看代码:
<ahref="javascript:void(0);">
这个链接点击之后不会做任何事情,如果去掉 void(),
点击之后整个页面会被替换成一个字符 0。
</a>
<ahref="javascript:void(document.body.style.backgroundColor='green');">
点击这个链接会让页面背景变成绿色。
</a>
参考资料
- https://segmentfault.com/q/1010000002435291
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/void
- http://www.koikikukan.com/archives/2015/03/11-002222.php
番外篇关于<a href="#"></a>
#
包含了一个位置信息 , 默认的锚是 #top
, 也就是网页的上端
如果想完成跟右侧等价的写法,我提供了三种方式进行参考
<ahref="#"onclick="returnfalse;">href</a>
<ahref="javascript:return false;"onclick="调用的js方法">href</a>
<ahref="####">这里是空链接,没有经过测试</a>
最新文章
- Java 实现批量重命名,亲测可用(精简版)
- JavaScript Array对象sort() 方法小结
- firebug常用工具
- iOS 阶段学习第11天笔记(OC基础知识)
- [Android Pro] StarUML 版本破解
- AngularJS 验证
- Socket Programming in C#--Server Side
- SQL SERVER 设置自动备份和删除旧的数据库文件
- NSString NSCFString区别
- Apache RewriteRule QSA 什么意思
- delphi 帮助文档(中英对译)下载地址
- 河南多校大一训练赛 C 青蛙的约会
- 转:Natas Wargame Level28 Writeup(EBC加密破解)
- JavaScript splice() 方法和JavaScript split() 方法
- 微信小程序支付,带java源码
- 容器虚拟网卡与网桥docker0虚拟网卡的veth pair的配对
- POJ 3723
- jQuery EasyUI Datagrid性能优化专题
- 原生和web交互jsbridge交互总结
- Spring-Boot服务注册与发现