Skip to content

[html] 第84天 a标签下的href="javascript:void(0)"起到了什么作用?说说你对javascript:void(0)的理解? #588

Open
@haizhilin2013

Description

@haizhilin2013
Collaborator

第84天 a标签下的href="javascript:void(0)"起到了什么作用?说说你对javascript:void(0)的理解?

Activity

fuhao97

fuhao97 commented on Jul 9, 2019

@fuhao97

上面的含义是,让超链接去执行一个js函数,而不是去跳转到一个地址,你还可以见到其他写法:
上面void(0)表示一个空的方法,也就是不执行
XXX
上面表示去执行方法showInfo();
仅此而已。
一般像你上面的写法时,一般都会给它添加一个onclick事件,通过事件去执行其他事情。

dondonZh

dondonZh commented on Jul 9, 2019

@dondonZh

引用 博客:javascript:是伪协议,表示url的内容通过javascript执行。void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作,

nowherebutup

nowherebutup commented on Jul 9, 2019

@nowherebutup

点击a标签的时候,执行js函数,void(0)实际什么也不执行,避免了点击跳转,还可以写成 javascript:;,

daisybaicai

daisybaicai commented on Jul 9, 2019

@daisybaicai

执行一个函数,不跳转

xxf1996

xxf1996 commented on Jul 9, 2019

@xxf1996
  • a标签的href属性中写入javascript: xxx,实际上就是点击后执行xxx语句,覆盖其默认点击行为; 该理解有误,正确的作用如下:

当用户点击一个以 javascript: URI 时,它会执行URI中的代码,然后用返回的值替换页面内容,除非返回的值是undefined。void运算符可用于返回undefined。(https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/void#JavaScript_URIs)

  • void关键字在js的含义为执行一个表达式,但不会返回任何值(即undefined);因此void(0)语句相当于执行表达式0,然后不返回任何值;
  • 综上,href="javascript:void(0)"的作用是点击链接后不发生任何行为,常用于阻止页面刷新或跳转;

参考文档:

  1. javascript:void(0) 含义 | 菜鸟教程
  2. <a> - HTML(超文本标记语言) | MDN
  3. void 运算符 - JavaScript | MDN
AnsonZnl

AnsonZnl commented on Jul 9, 2019

@AnsonZnl
Contributor

简单来说,就是阻止a的默认跳转事件

jiamianmao

jiamianmao commented on Aug 13, 2019

@jiamianmao

不让其跳转。

顺便提示下:2019年8月,React 16.9发布了,弃用 javascript: 形式的不安全 URL,该版本会抛出警告。

zhangkuibao

zhangkuibao commented on Mar 12, 2020

@zhangkuibao

void运算符的行为是,确保运算的返回值为undefined

smile-2008

smile-2008 commented on Feb 24, 2021

@smile-2008

执行一个函数,不跳转

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @smile-2008@haizhilin2013@xxf1996@jiamianmao@dondonZh

        Issue actions

          [html] 第84天 a标签下的href="javascript:void(0)"起到了什么作用?说说你对javascript:void(0)的理解? · Issue #588 · haizlin/fe-interview