js中viod运算符总结
目录
写在前面
常用语法
官方定义
常见用法
简单介绍
写在前面
简单来说,void运算符用于对给定的表达式进行求值,然后返回
undefined。
该运算符通常用于避免输出不应该输出的值。
常用语法
void expression
官方定义
这个运算符能向期望一个表达式的值是undefined
的地方插入会产生副作用的表达式。
void 运算符通常只用于获取 undefined
的原始值,一般使用void(0)
(等同于void 0
)。在上述情况中,也可以使用全局变量undefined
来代替(假定其仍是默认值)。
常见用法
通过采用void 0
取undefined
比直接写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运算符总结相关推荐
- JS中的运算符和数组
Js中的运算符概述 1.Javascript中的运算操作符和C++中的一样,在这里不再进行详细介绍. 2.字符串操作符 只有一个字符串操作符: + .它用来将字符串按照他们的顺序连接起来. 1)字符串 ...
- js中短路运算符 ||
见过好多插件都这么用,感觉高大上... || 与 && 说到底也没啥,稍微懂点程序的,或者是搞过相关硬件编程的都会用到这玩意,就算是数学,中学你可能都用到过. 是不是不信? & ...
- JS中相等运算符 == 隐式转换
原代码片段: var a = [] console.log(a == 0)//true console.log(!a == 0)//true复制代码 a == 0 相当于执行了 Number(a. ...
- Js中的?.运算符和??运算符
?.(链判断运算符)和??(Null判断运算符)都是Es6新增的特性. ?.运算符 使用?.链式调用时,左侧的对象如果为null 或者 undefined ,表达式就不会再往下计算,而是返回 unde ...
- js中三元运算符的两种情况
一.一般情况 <script type="text/javascript"> var b=5; (b == 5) ? a="true" : a=&q ...
- js中的运算符操作顺序
如果我们要改变运算顺序,需添加括号的方法来改变优先级: var numa=3; var numb=6 jq= ((numa + 30) / (2 - numb)) * 3; //结果是-24.75 操 ...
- js中的“|”运算符和“”运算符
先上结果 3|4=7 4|4=4 3|8=11 2&3=2 3&8=0 以上是运算结果,可以自己在控制台上使用. 下面是具体说明: 首先是"|":是将两侧数字转换为 ...
- Javascript开发技巧(JS中的变量、运算符、分支结构、循环结构)
一.Js简介和入门 继续跟进JS开发的相关教程. <!-- [使用JS的三种方式] 1.HTML标签中内嵌JS(不提倡使用): 示例:<button οnclick="javas ...
- JavaScript基础实战(2)js中的强制类型转换、运算符、关系运算符、逻辑运算符、条件运算符
文章目录 1.强制类型转换Number 1.1 代码 1.2 测试结果 2.进制表示 2.1 代码 2.2 测试结果 3.强制类型转换为Boolea 3.1 代码 3.2 测试结果 4.运算符 4.1 ...
最新文章
- google appengine的yaml文件,配置说明
- Oracle 11g Release 2 (11.2) for Microsoft Windows (32-Bit)安装与卸除
- python 内存不足 dict 替代方案_2D数组代表一个巨大的python dict,COOrdinate就像解决方案来节省内存...
- linux 进程函数替换,Linux使用exec函数实现进程替换的代码分享
- 使用Google Custom Search打造站内搜索
- 【LeetCode 69】Sqrt(x)
- python 去掉字符串第一个字符_10 个 Python 字符串处理技巧
- 【论文阅读】Efficient Net
- Powermill数控编程培训,潇洒模具三步教您精通cnc数控编程
- 手写RPC(五) 核心模块网络协议模块编写 ---- 自定义协议
- matlab中fix函数是啥,fix函数(函数fix是什么意思)
- matlab 曲线数据输出,Mathlab 如何输出曲线各数据点值?
- 【FLINK 】 Flink on YARN模式下TaskManager的内存分配
- canva五角星空html,使用canvas绘制一个五角星
- 贝塞尔曲线 弯曲动画ios_用贝塞尔曲线弯曲
- 《牧羊少年奇幻之旅》读书笔记
- 将tomcat添加和删除到服务
- chef infra安装和使用入门
- 结构-02. 有理数加法
- 74138译码器详解