Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does "javascript:void(0)" mean?

<a href="javascript:void(0)" id="loginlink">login</a> 

I've seen such hrefs many times, but I don't know what exactly that means.

like image 239
omg Avatar asked Aug 18 '09 05:08

omg


People also ask

How do I fix JavaScript void 0?

Disable add-ons/extensions If you've suddenly started getting the javascript void 0 error after installing a new extension/add-on, disable it and try again. What is this? Try disabling all extensions/add-ons and then access the website.

Is JavaScript void safe?

Generally, you want to avoid href="javascript:void(0)" , as it will cause the browser to parse the value of the link URL, which is both costly and unnecessary. It also introduces a potential XSS security vulnerability, as javascript: URLs violate Content Security Policy (CSP).

Is void 0 same as undefined?

void 0 is equivalent to void(0) . There are minifiers which use void 0 to shorten undefined . If you use immediately-invoked function expression (known as IIFE), void can be used to treat the function keyword as an expression, not a declaration. console.


1 Answers

The void operator evaluates the given expression and then returns undefined.

The void operator is often used merely to obtain the undefined primitive value, usually using “void(0)” (which is equivalent to “void 0”). In these cases, the global variable undefined can be used instead (assuming it has not been assigned to a non-default value).

An explanation is provided here: void operator.

The reason you’d want to do this with the href of a link is that normally, a javascript: URL will redirect the browser to a plain text version of the result of evaluating that JavaScript. But if the result is undefined, then the browser stays on the same page. void(0) is just a short and simple script that evaluates to undefined.

like image 128
rahul Avatar answered Sep 16 '22 20:09

rahul