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 数组的 uniq 方法
Jan 23 Javascript
jquery $.ajax入门应用一
Nov 19 Javascript
JavaScript DOM 添加事件
Feb 14 Javascript
由document.body和document.documentElement想到的
Apr 13 Javascript
jQuery 表单验证扩展代码(一)
Oct 11 Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
js仿3366小游戏选字游戏
Apr 14 Javascript
原生js实现查询天气小应用
Dec 09 Javascript
Vue数组更新及过滤排序功能
Aug 10 Javascript
React Native验证码倒计时工具类分享
Oct 24 Javascript
vue-cli3脚手架的配置及使用教程
Aug 28 Javascript
vue实现移动端轻量日期组件不依赖第三方库的方法
Apr 28 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使用token防止表单重复提交的方法
2016/04/07 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
慎用 somefunction.prototype 分析
2009/06/02 Javascript
JQuery 表单中textarea字数限制实现代码
2009/12/07 Javascript
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
JS区分浏览器页面是刷新还是关闭
2016/04/17 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
angular+ionic 的app上拉加载更新数据实现方法
2017/01/16 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
vue中element 上传功能的实现思路
2018/07/06 Javascript
详解用JS添加和删除class类名
2019/03/25 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
numpy.std() 计算矩阵标准差的方法
2018/07/11 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
使用django实现一个代码发布系统
2019/07/18 Python
基于python实现微信好友数据分析(简单)
2020/02/16 Python
Python list和str互转的实现示例
2020/11/16 Python
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
Linux文件系统类型
2012/02/15 面试题
求职信内容考虑哪几点
2013/10/05 职场文书
岗位职责的构建方法
2014/02/01 职场文书
安全协议书
2014/04/23 职场文书
学生偷窃检讨书
2014/09/25 职场文书
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL