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里使用Dom操作Xml
Jan 22 Javascript
JS request函数 用来获取url参数
May 17 Javascript
location.search在客户端获取Url参数的方法
Jun 08 Javascript
常见的jQuery选择器汇总
Nov 24 Javascript
jquery右下角自动弹出可关闭的广告层
May 08 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
May 19 Javascript
javascript中的 object 和 function小结
Aug 14 Javascript
JavaScript Base64 作为文件上传的实例代码解析
Feb 14 Javascript
为什么使用koa2搭建微信第三方公众平台的原因
May 16 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
Aug 12 Javascript
vue实现select下拉显示隐藏功能
Sep 30 Javascript
微信小程序网络请求实现过程解析
Nov 06 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 连接mssql数据库 初学php笔记
2010/03/01 PHP
PHP操作MongoDB GridFS 存储文件的详解
2013/06/20 PHP
php var_export与var_dump 输出的不同
2013/08/09 PHP
php分页函数示例代码分享
2014/02/24 PHP
php实现paypal 授权登录
2015/05/28 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
php 修改上传文件大小限制实例详解
2016/10/23 PHP
js 静态动态成员 and 信息的封装和隐藏
2011/05/29 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
js中的DOM模拟购物车功能
2017/03/22 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
JavaScript模块详解
2017/12/18 Javascript
vue项目中,main.js,App.vue,index.html的调用方法
2018/09/20 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
解决vue elementUI 使用el-select 时 change事件的触发问题
2020/11/17 Vue.js
python处理圆角图片、圆形图片的例子
2014/04/25 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
win7+Python3.5下scrapy的安装方法
2018/07/31 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
解决Django中调用keras的模型出现的问题
2019/08/07 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
建筑系毕业生自我鉴定
2014/01/24 职场文书
学校卫生检查制度
2014/02/03 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
中秋节主题班会
2015/08/14 职场文书
MySQL中InnoDB存储引擎的锁的基本使用教程
2021/05/26 MySQL