JS中void(0)的含义

来源:互联网 发布:人工智能上市公司一览 编辑:程序博客网 时间:2024/06/09 16:50


Javascrīpt中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。

void 操作符用法格式如下:
1. javascrīpt:void (expression)
2. javascrīpt:void expression

expression 是一个要计算的 Javascrīpt 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。

1.你可以使用 void 操作符指定超级链接,表达式会被计算但是不会在当前文档处装入任何内容。

    1-1.下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。

    <A HREF="javascrīpt:void(0)">单击此处什么也不会发生</A>

    当用户点击链接时,void(0) 计算为 0,但在 Javascrīpt 上没有任何效果。

    1-2.下面的代码创建了一个超级链接,用户单击时会提交表单。

    <A HREF="javascrīpt:void(document.form.submit())">单击此处提交表单</A>

2.<a>元素中href=#与href=javascript:void(0)的区别

    #,包含了一个位置信息,默认的锚点是#top, 也就是网页的上端,而javascrīpt:void(0)仅仅表示一个死链接。这就是为什么有的时候页面很长,浏览链接明明是#,却跳到了页首,而 javascrīpt:void(0) 则不会如此。所以调用脚本的时候最好用void(0)、<input onclick>、<div onclick>等。

 

补充:    

     <a href="Javascript :void(0);" onclick="ToUrl('qs');">


      其中js的函数ToUrl中最后动作时location.href。结果什么折腾不能实现效果。后面使用window.open倒是正常的。这样折腾了一会,其中使用发现是正常的。所以怀疑是不是两者存在冲突?


 

       用google(PS:不喜欢baidu搜索低准确率)查询了一下,倒是印证了我的初步判断: JavaScript中void(0)的含义: JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行“refresh”的情况下,那就要仔细了。而location.href的动作就是要“refresh”,所以.... 


 解决的办法是(红色部分): 
        <a href="Javascript :void(0);" onclick="ToUrl('qs');return false;">


原创粉丝点击