JavaScript中获取纯正的undefined的方法


Posted in Javascript onMarch 06, 2016

1、为什么要获取undefined?

因为undefined在javascript中不是保留字,可以被用户当做变量来赋值,这样如果我们后期需要用到undefined来检测一个变量的话,那么检测的值就不准确了;

举个栗子:

var undefined=10;
function sum(a,b){
 if(a===undefined||b===undefined){
  console.log("参数不正确");
 }18101130357
 return a+b;
}

sum(10,10)->本来正确的参数,控制台输出的确实"参数错误";

这时候,为了兼容所有的浏览器,我们就需要获取一个纯正的undefinde

2、怎样获取纯正的undefined?

1) void (0):

在ECMAScript 262规范,有如下描述:

The void Operator
The production UnaryExpression : void UnaryExpression is evaluated as follows:
Let expr be the result of evaluating UnaryExpression.
Call GetValue(expr).
Return undefined.

总之,记住无论void后的表达式是什么,void操作符都会返回undefined就好了

2) 传入一个为赋值的形参

[案例]

function(_undefined){
//函数体中不给_undefined赋值,形参_undefined的值就是undefined,在这个函数用就可以使用_undefined了
}

3)未赋值的变量

举个栗子:var num  //道理和2)是一样的

不要厌烦熟悉的事物,每天都进步一点;不要畏惧陌生的事物,每天都学习一点;

PS:js判断undefined类型

if (reValue== undefined){
 alert("undefined");
 }
 发现判断不出来,最后查了下资料要用typeof
方法:
if (typeof(reValue) == "undefined") { 
 alert("undefined"); 
}

typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined"

Javascript 相关文章推荐
javascript脚本编程解决考试分数统计问题
Oct 18 Javascript
你的 mixin 真的兼容 ECMAScript 5 吗?
Apr 11 Javascript
js 判断计算字符串长度/判断空的简单方法
Aug 05 Javascript
jQuery常用操作方法及常用函数总结
Jun 19 Javascript
浅谈EasyUI中Treegrid节点的删除
Mar 01 Javascript
js实现Select列表内容自动滚动效果代码
Aug 20 Javascript
JS截取与分割字符串常用技巧总结
Nov 10 Javascript
jQuery基于ID调用指定iframe页面内的方法
Jul 06 Javascript
JavaScript ES6中CLASS的使用详解
Nov 22 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
Dec 05 Javascript
vue动态绑定class选中当前列表变色的方法示例
Dec 19 Javascript
Node.js API详解之 assert模块用法实例分析
May 26 Javascript
JS面向对象编程详解
Mar 06 #Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 #Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
Mar 05 #Javascript
JavaScript的React框架中的JSX语法学习入门教程
Mar 05 #Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 #Javascript
简单讲解AngularJS的Routing路由的定义与使用
Mar 05 #Javascript
整理AngularJS框架使用过程当中的一些性能优化要点
Mar 05 #Javascript
You might like
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
PHP XML操作的各种方法解析(比较详细)
2010/06/17 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
js用图作提交按钮或超连接
2008/03/26 Javascript
innerHTML与jquery里的html()区别介绍
2012/10/12 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
跟我学习javascript创建对象(类)的8种方法
2015/11/20 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
Python写的Discuz7.2版faq.php注入漏洞工具
2014/08/06 Python
Python实现的批量下载RFC文档
2015/03/10 Python
对python中字典keys,values,items的使用详解
2019/02/03 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
wxPython实现分隔窗口
2019/11/19 Python
matplotlib绘制多个子图(subplot)的方法
2019/12/03 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
2020/03/20 Python
python多进程使用函数封装实例
2020/05/02 Python
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
解释一下Windows的消息机制
2014/01/30 面试题
人事助理岗位职责
2013/11/18 职场文书
校园活动策划方案
2014/06/13 职场文书
挂职学习心得体会
2014/09/09 职场文书
个人授权委托书范本
2014/09/14 职场文书
三八妇女节寄语
2015/02/27 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
2016年暑期见闻作文
2015/11/25 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python
vscode远程免密登入Linux服务器的配置方法
2022/06/28 Servers