javascript中argument1 === void 0的意思
今天看代码时看到
if (argument1 === void 0 || typeof argument1 === 'object') {
啥意思?
概述
void 运算符会对它的操作数表达式进行求值,然后忽略掉求值的结果,直接返回 undefined。
语法
void expression
描述
我们经常会在一个期望得到 undefined 返回值的地方使用 void 运算符,这样就可以忽略掉它后面的表达式的真实返回值。我们只去利用那个表达式执行时的副作用。
经常会有人用 void(0) 或者 void 0 来代替 undefined 变量来表示 undefined 值,因为他们担心自己拿到的 undefined 这个变量的值可能不是 undefined:可能是被重新赋过值的全局变量 。但这种担心通常是多余的,因为没有人会去那样做,不是吗。还有人说是为了性能考虑,因为可以避免变量查询,但这种性能差异通常是微乎其微的。window.undefined(现代浏览器不允许这样做);也可能是一个别人定义的函数内部的局部变量 undefined
详情参见https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/void
javascript中argument1 === void 0的意思的更多相关文章
- 浅谈Javascript中的void操作符
由于JS表达式偏啰嗦,于是最近便开始采用Coffeescript来减轻负担.举个栗子,当我想取屋子里的第一条dog时,首先要判断house对象是否存在,然后再判断house.dogs是否存在,最后取h ...
- Javascript中的void
原来void是将其后的字面量当元表达式执行,并永远返回undefined.同时undefined不是关键词.. 由于JS表达式偏啰嗦,于是最近便开始采用Coffeescript来减轻负担.举个栗子,当 ...
- JavaScript基础1228JavaScript:void(0)开始----
JavaScript:void(0)含义 JavaScript:void(0)含义 我们经常会使用到JavaScript:void(0)这样的代码,那么在JavaScript中JavaScript:v ...
- C语言中的 (void*)0 与 (void)0
前几天看到一个宏, 它大概是这样的: #define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)__FILE__, __LI ...
- href="javascript:;" href="javascript:void(0);" href="#"区别
一.href="javascript:;" 这种用法不正确,这么用的话会出现浏览器访问"javascript:;"这个地址的现象: 二.href="j ...
- href=”javascript:void(0);
href=”javascript:void(0);”这个的含义是,让超链接去执行一个js函数,而不是去跳转到一个地址,而void(0)表示一个空的方法,也就是不执行js函数. 为什么要使用href=” ...
- href="javascript:void(0)"
javascript:是伪协议,表示url的内容通过javascript执行.void(0)表示不作任何操作,这样会防止链接跳转到其他页面.这么做往往是为了保留链接的样式,但不让链接执行实际操作,具体 ...
- href="javascript:void(0)" 的用法
href=”javascript:void(0);”这个的含义是,让超链接去执行一个js函数,而不是去跳转到一个地址,而void(0)表示一个空的方法,也就是不执行js函数. 为什么要使用href=” ...
- JavaScript中的两个“0”(翻译)
本文翻译自JavaScript’s two zeros JavaScript has two zeros: −0 and +0. This post explains why that is and ...
随机推荐
- Cent OS 6.6 下安装mysql(5.5.20)和 PHP(5.3.10)
0.准备步骤(没有连接网络的 linux): 挂载光盘.让网络 yum 源失效.修改光盘 yum 文件.安装 c 语言编译器 gcc. 1.MySQL(5.5.20) 下载 mysql 5.5.20 ...
- Python装饰器与面向切面编程
今天来讨论一下装饰器.装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数 ...
- Google Chrome can not be run as root
Ubuntu运行Chrome出现"Google Chrome can not be run as root"的解决方法 编辑启动文件:/opt/google/chrome/goog ...
- Unity3d中C#使用指针(Unsafe)的办法(转)
近日由于在U3D项目中要使用到数据传递(C++ DLL的数据传递给U3D中的C#),其中涉及到需要使用C#的指针.直接编译会出现以下错误Unsafe code requires the 'unsafe ...
- 20145235李涛 《Java程序设计》第3周学习总结
类与对象 定义类 类是对象的“设计图”,对象是类的实际类型.另外,定义时用class,建实例用new. 通过书上的代码才有所理解: class Clothes { String color; char ...
- SQL_NO_CACHE
http://dev.mysql.com/doc/refman/5.7/en/query-cache-in-select.html MySQL 5.7 Reference Manual / ... ...
- terminal(终端),shell,tty,console(控制台)区别
原文地址 stackexchange:What is the exact difference between a 'terminal', a 'shell', a 'tty' and a 'con ...
- php四个常用类封装 :MySQL类、 分页类、缩略图类、上传类;;分页例子;
Mysql类 <?php /** * Mysql类 */ class Mysql{ private static $link = null;//数据库连接 /** * 私有的构造方法 */ pr ...
- VC 中 UpdateData() 函数的使用
UpdateData(FALSE)与UpdateData(TRUE)是相反的过程 UpdateData(FALSE)是把程序中改变的值更新到控件中去 UpdateData(TRUE)是把在控件中输入的 ...
- Bootstrap 辅组类和响应式工具
1.情景文本颜色 //各种色调的字体 <p class="text-muted">Bootstrap 视频教程</p> <p class=" ...