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版代码高亮
Jun 26 Javascript
让您的菜单不离网站
Oct 03 Javascript
JavaScript 工具库 Cloudgamer JavaScript Library v0.1 发布
Oct 29 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
Aug 26 Javascript
Javascript异步编程模型Promise模式详细介绍
May 08 Javascript
jquery计算鼠标和指定元素之间距离的方法
Jun 26 Javascript
js简单工厂模式用法实例
Jun 30 Javascript
详解javascript事件冒泡
Jan 09 Javascript
深入理解JavaScript中的对象复制(Object Clone)
May 18 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
Jan 17 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
Jun 01 Javascript
node 解析图片二维码的内容代码实例
Sep 11 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
乐信RP2100的电路分析和打磨
2021/03/02 无线电
CI框架的安全性分析
2016/05/18 PHP
php中的异常和错误浅析
2017/05/03 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
Javascript 检测、添加、移除样式(className)函数代码
2009/09/08 Javascript
jquery 简单导航实现代码
2009/09/11 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
js类式继承的具体实现方法
2013/12/31 Javascript
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
2015/01/01 NodeJs
DOM 高级编程
2015/05/06 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
AngularJS表单和输入验证实例
2016/11/02 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
用Python进行基础的函数式编程的教程
2015/03/31 Python
python距离测量的方法
2018/03/06 Python
python实现求两个字符串的最长公共子串方法
2018/07/20 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
详解canvas绘制网络字体几种方法
2019/08/27 HTML / CSS
优秀民警事迹材料
2014/01/29 职场文书
标准版离职证明书
2014/09/12 职场文书
三年级学生评语大全
2014/12/26 职场文书
五一晚会主持词
2015/07/01 职场文书
工作建议书范文
2019/07/08 职场文书