目录

写在前面

常用语法

官方定义

常见用法

简单介绍


写在前面

简单来说,void运算符用于对给定的表达式进行求值,然后返回 undefined。该运算符通常用于避免输出不应该输出的值。

常用语法

    void expression

官方定义

这个运算符能向期望一个表达式的值是undefined的地方插入会产生副作用的表达式。

void 运算符通常只用于获取 undefined的原始值,一般使用void(0)(等同于void 0)。在上述情况中,也可以使用全局变量undefined 来代替(假定其仍是默认值)。

常见用法

通过采用void 0undefined比直接写undefined更靠谱更安全,应该优先采用void 0这种方式;

填充<a>href确保点击时不会产生页面跳转;填充<image>src,确保不会向服务器发出垃圾请求;

简单介绍

在ES5之前,window下的undefined是可以被重写的,于是导致了某些极端情况下使用undefined会出现一定的差错。所以,用void 0是为了防止undefined被重写而出现判断不准确的情况。 ES5之后的标准中,规定了全局变量下的undefined值为只读,不可改写的,但是局部变量中依然可以对之进行改写。

非严格模式下,undefined是可以重写的,严格模式则不能重写。

除了防止被重写外,还可以减少字节。void 0代替undefined省3个字节。类似的还有很多常用的写法,下面介绍一些老司机的套路,嘿嘿。

    // 取整parseInt(a,10); //BeforeMath.floor(a); //Beforea>>0; //Before~~a; //Aftera|0; //After// 四舍五入Math.round(a); //Beforea+.5|0; //After// 内置值undefined; //Beforevoid 0; //After, 快0[0]; //After, 略慢// 内置值Infinity;1/0;// 布尔值短写法true; //Before!0; //After// 布尔值短写法false; //Before!1; //After// 判断奇偶数(装逼写法)if(n&1){console.log("n为奇数")}else console.log("n为偶数")

js中viod运算符总结相关推荐

  1. JS中的运算符和数组

    Js中的运算符概述 1.Javascript中的运算操作符和C++中的一样,在这里不再进行详细介绍. 2.字符串操作符 只有一个字符串操作符: + .它用来将字符串按照他们的顺序连接起来. 1)字符串 ...

  2. js中短路运算符 ||

    见过好多插件都这么用,感觉高大上... || 与 && 说到底也没啥,稍微懂点程序的,或者是搞过相关硬件编程的都会用到这玩意,就算是数学,中学你可能都用到过. 是不是不信? & ...

  3. JS中相等运算符 == 隐式转换

    原代码片段: var a = [] console.log(a == 0)//true console.log(!a == 0)//true复制代码 ​ a == 0 相当于执行了 Number(a. ...

  4. Js中的?.运算符和??运算符

    ?.(链判断运算符)和??(Null判断运算符)都是Es6新增的特性. ?.运算符 使用?.链式调用时,左侧的对象如果为null 或者 undefined ,表达式就不会再往下计算,而是返回 unde ...

  5. js中三元运算符的两种情况

    一.一般情况 <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a=&q ...

  6. js中的运算符操作顺序

    如果我们要改变运算顺序,需添加括号的方法来改变优先级: var numa=3; var numb=6 jq= ((numa + 30) / (2 - numb)) * 3; //结果是-24.75 操 ...

  7. js中的“|”运算符和“”运算符

    先上结果 3|4=7 4|4=4 3|8=11 2&3=2 3&8=0 以上是运算结果,可以自己在控制台上使用. 下面是具体说明: 首先是"|":是将两侧数字转换为 ...

  8. Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)

    一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...

  9. JavaScript基础实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符

    文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...

最新文章

  1. google appengine的yaml文件,配置说明
  2. Oracle 11g Release 2 (11.2) for Microsoft Windows (32-Bit)安装与卸除
  3. python 内存不足 dict 替代方案_2D数组代表一个巨大的python dict,COOrdinate就像解决方案来节省内存...
  4. linux 进程函数替换,Linux使用exec函数实现进程替换的代码分享
  5. 使用Google Custom Search打造站内搜索
  6. 【LeetCode 69】Sqrt(x)
  7. python 去掉字符串第一个字符_10 个 Python 字符串处理技巧
  8. 【论文阅读】Efficient Net
  9. Powermill数控编程培训,潇洒模具三步教您精通cnc数控编程
  10. 手写RPC(五) 核心模块网络协议模块编写 ---- 自定义协议
  11. matlab中fix函数是啥,fix函数(函数fix是什么意思)
  12. matlab 曲线数据输出,Mathlab 如何输出曲线各数据点值?
  13. 【FLINK 】 Flink on YARN模式下TaskManager的内存分配
  14. canva五角星空html,使用canvas绘制一个五角星
  15. 贝塞尔曲线 弯曲动画ios_用贝塞尔曲线弯曲
  16. 《牧羊少年奇幻之旅》读书笔记
  17. 将tomcat添加和删除到服务
  18. chef infra安装和使用入门
  19. 结构-02. 有理数加法
  20. 74138译码器详解

热门文章

  1. php imagick,PHP中imagick函数的中文解释_PHP
  2. 芯片翻译之ICM20602(一)
  3. 吃排骨居然把喉咙卡了
  4. 大数据分析首批北京积分落户同学
  5. AI时代下零售商的新商业模式
  6. 慕课网,乐字节 Java电商秒杀项目
  7. 导入/导入 MySQL数据库
  8. 吃透Java基础九:序列化
  9. Python实现微信自动回复信息的功能(根据不同信息回复对应的信息),手把手搭建加代码分析
  10. 【Lucene】Apache Lucene全文检索引擎架构之中文分词和高亮显示