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

  • 相关阅读:
    Resharper的使用
    SQL Server 占用CPU较高的解决方法
    014 FPGA千兆网UDP通信
    012 PCIe总线的基础知识
    008 PCI设备BAR空间的初始化
    016 基于FPGA的网口通信实例设计【转载】
    015 FPGA千兆网TCP通信【转载】
    006 PCI总线的桥与配置(一)
    004 PCI Express体系结构(四)
    007 PCI总线的桥与配置(二)
  • 原文地址:https://www.cnblogs.com/kaixinbocai/p/4001721.html
Copyright © 2011-2022 走看看