zoukankan      html  css  js  c++  java
  • JavaScript中 void(0) 的含义

    JavaScript中 void (0)的含义

     

    概述

    void运算符执行传递给它的语句,然后返回undefined

    语法

    void expression

    void 运算符通常仅仅被用来获取undefined的原始值,通常用void (0) (等同于void 0)。

     

    我们为什么不直接用undefined呢?

    undefined不是一个保留字(在JavaScript的某些环境中是个全局变量)。这也就是说undefined是个可用的变量名,你可以给它任意赋值。例如:

    alert(undefined); //alerts "undefined"
    
    var undefined = "new value";
    
    alert(undefined) //alerts "new value"

    再看一个在链接中使用的例子:

    javascript:URI,执行完uri中的代码,然后用返回的值替换当前页内容,除非返回值是undefined。

    <a href="javascript:void(0);">
      //点击不进行任何操作
    </a>
    
    <a href="javascript:void(document.body.style.backgroundColor='green');">
      //点击后背景变成绿色
    </a>

    所以,你不能安全的使用undefined,它返回的值未必是你预期的那样。而void则不会被覆盖,总会返回undefined

     

    为什么是void 0,为什么是0其他的不行吗?

    其他的值也是可以的,比如113”hello world”。使用0是因为比较短小简洁且符合语言习惯。

     

    参考:

    MDN void opter

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void

    Stackoverflow的回答

    What does ‘void 0’  mean ?

    http://stackoverflow.com/questions/7452341/what-does-void-0-mean

  • 相关阅读:
    C# Redis实战(五)
    C# Redis实战(四)
    C# Redis实战(三)
    C# Redis实战(二)
    C# Redis实战(一)
    memcached的基本命令(安装、卸载、启动、配置相关)
    git和tortoisegit安装教程
    编程规范是非常重要的,为什么说可读性比什么都重要?你有没有确定一个编程规范呢?
    关于VR游戏的前景
    在项目开发过程中如何处理人际关系
  • 原文地址:https://www.cnblogs.com/kaixinbocai/p/4001721.html
Copyright © 2011-2022 走看看