javascript:void(0)的含义及作用

来源:互联网 发布:windows账户密码 编辑:程序博客网 时间:2024/05/05 18:18

我们在 JavaScript脚本中就会经常可以看到这样的代码:
 〈a href="JavaScript:changeNum();void(0);"〉here〈/a〉
  但这儿的void(0)究竟是何含义呢?又有什么作用呢?
  JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
  void 操作符用法格式如下:
  1. JavaScript:void (e­xpression)
  2. JavaScript:void e­xpression
  e­xpression 是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。 你可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何容。
  下面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
  <a href="JavaScript:void(0)">单击此处什么也不会发生</A>
  下面的代码创建了一个超级链接,用户单击时会提交表单。
  <a href="JavaScript:void(document.form.submit())">单击此处提交表单</A>
  使用JavaScript的时候,通常我们会通过类似:<a href=http://www.webyi.com/wschool/program/Javascript/20091231/"#" onclick="javascript:方法">提交</a> 的方式,通过一个伪链接来调用javascript方法。这种方法有一个问题是:虽然点击该链接的时候不会跳转页面,但是滚动条会往上滚,解决的办法是返 回一个false。
如下所示:
<a href=http://www.webyi.com/wschool/program/JavaScript/20091231/"Javascript:void(0)" onclick="javascript:方法;return false;">提交</a>
<a href=http://www.webyi.com/wschool/program/JavaScript/20091231/"#this" onclick="Javascript:方法">xx</a>
            function color() {
                //把表头设为紫色
                var th = document.getElementById("th");
                th.style.background = "violet"
                //1.得到所有<tr>元素
                var trs = document.getElementsByTagName("tr");
                var i;
                for(i = 1; i <trs.length; i++) {
                    //2.改变<tr>元素的背景颜色
                    if(i % 2 == 0) {
                        trs[i].style.background = "yellow";
                    } else {
                        trs[i].style.background = "olive";
                    }
                }
            }
            window.onload = color;
        </script>
    </head>
    <body>
        <center>
            <table>
                <tr id="th">
                    <th>姓名</th>
                    <th>科目</th>
                    <th>成绩</th>
                </tr>
                <tr>
                    <td>张三</td>
                    <td>语文</td>
                    <td>90</td>
                </tr>
                <tr>
                    <td>张三</td>
                    <td>数学</td>
                    <td>87</td>
                </tr>
                <tr>
                    <td>李四</td>
                    <td>数学</td>
                    <td>68</td>
                </tr>
                <tr>
                    <td>王五</td>
                    <td>英语</td>
                    <td>76</td>
                </tr>
            </table>
        </center>
    </body>
</HTML>
<a href=http://www.webyi.com/wschool/program/JavaScript/20091231/"#" onclick="Javascript:方法;return false;">提交</a>
  #包含了一个位置信息默认的锚点是#top 也就是网页的上端,而JavaScript:void(0) 仅仅表示一个死链接。 这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首,而Javascript:void(0) 则不是如此所以调用脚本的时候最好用void(0)。
   所以我们在做页面无刷新时用void(0)比较多,一般是Ajax,看一下Ajax的web页面的话,一般都会看到有很多的void(0),所以在使用void(0)之前,最好先想一想这个页面是否需要整体刷新。

<script type="text/JavaScript" >

0 0
原创粉丝点击