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操作web控件的自定义属性
Nov 25 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
Aug 06 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
May 29 Javascript
跟我学习javascript的Date对象
Nov 19 Javascript
微信小程序 免费SSL证书https、TLS版本问题的解决办法
Dec 14 Javascript
JS检测数组类型的方法小结
Mar 14 Javascript
详解基于 axios 的 Vue 项目 http 请求优化
Sep 04 Javascript
vue项目动态设置页面title及是否缓存页面的问题
Nov 08 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
JS与SQL方式随机生成高强度密码示例
Dec 29 Javascript
ES6中new Function()语法及应用实例分析
Feb 19 Javascript
vue 通过base64实现图片下载功能
Dec 19 Vue.js
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中使用Select 查询语句的实例
2014/02/19 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
php常用数组函数实例小结
2016/12/29 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
php实现统计IP数及在线人数的示例代码
2020/07/22 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
Javascript 验证上传图片大小[客户端]
2009/08/01 Javascript
调试Node.JS的辅助工具(NodeWatcher)
2012/01/04 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
[48:39]Ti4主赛事胜者组第一天 EG vs NEWBEE 2
2014/07/19 DOTA
python使用多线程不断刷新网页的方法
2015/03/31 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
使用Keras构造简单的CNN网络实例
2020/06/29 Python
Pyecharts 中Geo函数常用参数的用法说明
2021/02/01 Python
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
印度化妆品购物网站:Nykaa
2018/07/22 全球购物
extern是什么意思
2016/03/10 面试题
软件测试企业面试试卷
2016/07/13 面试题
软件工程师面试题
2012/06/25 面试题
校园十大歌手策划书
2014/02/01 职场文书
xxx同志考察材料
2014/02/07 职场文书
安全生产承诺书
2014/03/26 职场文书
党员个人公开承诺书
2014/08/29 职场文书
立春观后感
2015/06/18 职场文书
升学宴家长致辞
2015/07/27 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
小学教师教学反思
2016/02/24 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书