void 0 代替 undefined
2018-10-19 11:47
106 查看
先来看看void运算符
void运算符对给定的表达式进行求值,然后返回undefined。
所以,使用void 0 、void 1、void + 任意表达式返回的都是undefined。
作用一:防止undefined被重写
因为undefined是global的一个属性,再ie低版本可能会被重写。
undefined = null
事实上,undefined再ES5中已经是global对象的只读属性了,但是在局部作用域还是可以修改的。
function(){ undefined = null}()
而void 返回的就是undefined
作用二:减少代码大小
既然跟任意表达式 返回的都是undefined,那就跟一个最简单的表达式最好了。
减小js代码,提高js加载速度,减少内存占用。
if (value !== void 0 && value !=== null) { //逻辑处理 }阅读更多
相关文章推荐
- 【跟着子迟品underscore】从用 `void 0` 代替 `undefined` 说起
- js中用 void 0 代替 undefined
- JS魔法堂:从void 0 === undefined说起
- void 0 和 undefined
- void 0 与 undefined
- js 代替 <a href="javascript void(0)" onclick="openWin(3,this)"></a>
- KVC之-(void)setValue:(id)value forUndefinedKey:(NSString *)key
- JS魔法堂:从void 0 === undefined说起
- Void运算符 与 undefined类型
- JS魔法堂:从void 0 === undefined说起
- [Angular2 Animation] Control Undefined Angular 2 States with void State
- void 0 或者 undefined
- Effective Modern C++ 条款11 用deleted functions代替private undefined的做法
- void 0 等于 undefined 为什么不直接用undefined
- javascript js undefined null 0 false void(0) NaN 空字符串 比较 区别
- void 0 === undefined
- underscore.js中为什么用void 0来验证undefined
- undefined 与void 0
- 使用muduo编译链接错误 undefined reference to `muduo::ThreadPool::run(boost::function<void ()()>&&)'
- Centos下Apache遇到/usr/lib64/libnsssysinit.so: undefined symbol: PR_GetEnvSecure错误