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 相关文章推荐
Extjs在exlipse中设置自动提示的方法
Apr 07 Javascript
解决JS浮点数运算出现Bug的方法
Mar 12 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
Dec 19 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
Nov 17 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
详解AngularJS中ng-src指令的使用
Sep 07 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
Apr 27 Javascript
微信小程序实现图片上传功能
May 28 Javascript
详解express + mock让前后台并行开发
Jun 06 Javascript
JS实现判断有效的数独算法示例
Feb 25 Javascript
微信公众平台获取access_token的方法步骤
Mar 29 Javascript
JavaScript实现京东快递单号查询
Nov 30 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 spl_autoload_register实现自动加载研究
2011/12/06 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
简介PHP的Yii框架中缓存的一些高级用法
2016/03/29 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
2019/08/14 PHP
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
JavaScript编程的10个实用小技巧
2014/04/18 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
js中的事件捕捉模型与冒泡模型实例分析
2015/01/10 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
在微信小程序里使用watch和computed的方法
2018/08/02 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
详解小程序用户登录状态检查与更新实例
2019/05/15 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
python教程之用py2exe将PY文件转成EXE文件
2014/06/12 Python
跟老齐学Python之总结参数的传递
2014/10/10 Python
利用python循环创建多个文件的方法
2018/10/25 Python
python批量下载抖音视频
2019/06/17 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
2020/07/31 Python
python中remove函数的踩坑记录
2021/01/04 Python
微软加拿大官方网站:Microsoft Canada
2019/04/28 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
优秀员工自荐信范文
2013/10/05 职场文书
应聘自荐书
2013/10/08 职场文书
办理信用卡工作证明
2014/01/11 职场文书
英语辞职信怎么写
2015/02/28 职场文书
新闻稿标题
2015/07/18 职场文书
小学音乐课教学反思
2016/02/18 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书
MySQL如何使用使用Xtrabackup进行备份和恢复
2021/06/21 MySQL