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 相关文章推荐
一个很简单的办法实现TD的加亮效果.
Jun 29 Javascript
JavaScript中null与undefined分析
Jul 25 Javascript
滚动条变色 隐藏滚动条与双击网页自动滚屏显示代码
Dec 28 Javascript
用JS控制回车事件的代码
Feb 20 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
Javascript图片上传前的本地预览实例
Jun 16 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
Dec 08 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
jQuery实现跟随鼠标运动图层效果的方法
Feb 02 Javascript
微信小程序form表单组件示例代码
Jul 15 Javascript
JS/jQuery实现简单的开关灯效果【案例】
Feb 19 jQuery
vue中使用GraphQL的实例代码
Nov 04 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
咖啡知识大全
2021/03/03 新手入门
php 无限级缓存的类的扩展
2009/03/16 PHP
php单例模式示例分享
2015/02/12 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
Javascript面向对象编程
2012/03/18 Javascript
Jquery颜色选择器ColorPicker实现代码
2012/11/14 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
JS控制阿拉伯数字转为中文大写示例代码
2013/09/04 Javascript
BootStrap创建响应式导航条实例代码
2016/05/31 Javascript
详解NodeJS框架express的路径映射(路由)功能及控制
2017/03/24 NodeJs
JS闭包用法实例分析
2017/03/27 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
Vue实现一个无限加载列表功能
2018/11/13 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
2019/09/25 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
vue中defineProperty和Proxy的区别详解
2020/11/30 Vue.js
python实现的一个p2p文件传输实例
2014/06/04 Python
使用Python的内建模块collections的教程
2015/04/28 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
Python基于Tkinter的HelloWorld入门实例
2015/06/17 Python
详解python调度框架APScheduler使用
2017/03/28 Python
python连接数据库的方法
2017/10/19 Python
Python OpenCV获取视频的方法
2018/02/28 Python
解决python3 json数据包含中文的读写问题
2018/05/10 Python
用python进行视频剪辑
2020/11/02 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
Grid 宫格常用布局的实现
2020/01/10 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
大学生自我鉴定书
2014/03/24 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2015年女职工工作总结
2015/05/15 职场文书
学风建设主题班会
2015/08/17 职场文书