• [理论篇]一.JavaScript中的死连接`javascript:void(0)`和空连接`javascript:;`


    void 运算符

    void 运算符会对给定的表达式进行求值,然后直接返回 undefined

    void 运算符通常只用于获取 undefined 的原始值,一般使用 void(0)(等同于 void 0)。在上述情况中,也可以使用全局变量undefined 来代替(假定其仍是默认值)。

    1. <script>
    2. console.log(void(console.log("OK")));
    3. </script>

    运行结果

    1. OK
    2. undefined

    一般我个人称 javascript:void(0) 死链接

    javasccript:; 空连接

    而javasccript:;是为空链接,其实他也也是直接返回的undefined,而前者是计算完毕之后返回undefined

    推荐使用javascript:;

    个人习惯使用前者,好像感觉后置更快点,我感觉在前端就无所谓了!

    可以去看看各个大网站是输入使用连接的

    模拟

    当用户点击一个以 javascript: URI 时,浏览器会对冒号后面的代码进行求值,然后把求值的结果显示在页面上,这时页面基本上是一大片空白,这通常不是我们想要的。只有当这段代码的求值结果是 undefined 的时候,浏览器才不会去做这件 傻事 ,所以我们经常会用 void 运算符来实现这个需求
    看代码:

    1. <ahref="javascript:void(0);">
    2. 这个链接点击之后不会做任何事情,如果去掉 void(),
    3. 点击之后整个页面会被替换成一个字符 0。
    4. </a>
    5. <ahref="javascript:void(document.body.style.backgroundColor='green');">
    6. 点击这个链接会让页面背景变成绿色。
    7. </a>

    参考资料

    番外篇关于<a href="#"></a>

    # 包含了一个位置信息 , 默认的锚是 #top , 也就是网页的上端
    如果想完成跟右侧等价的写法,我提供了三种方式进行参考

    1. <ahref="#"onclick="returnfalse;">href</a>
    2. <ahref="javascript:return false;"onclick="调用的js方法">href</a>
    3. <ahref="####">这里是空链接,没有经过测试</a>





  • 相关阅读:
    FileReader读数据
    FileWriter写数据
    装饰者设计模式
    数据库连接池
    事务
    EL表达式
    console.log是异步的吗?
    使用i3wm时出现的若干问题的解决办法
    使用xmodmap修改键盘映射
    CentOS7 Minimal 安装后出现的若干问题解决办法
  • 原文地址:https://www.cnblogs.com/pangxiansheng/p/f04e5ec7d2ab35290046381002cc18c3.html
Copyright © 2020-2023  润新知