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不同页面传值的改进版
Sep 30 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
Dec 04 Javascript
js 获取和设置css3 属性值的实现方法
May 06 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
深入剖析JavaScript编程中的对象概念
Oct 21 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
Oct 29 Javascript
javascript实现添加附件功能的方法
Nov 18 Javascript
jQuery实现带水平滑杆的焦点图动画插件
Mar 08 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
Oct 05 Javascript
Express之get,pos请求参数的获取
May 02 Javascript
Vue如何从1.0迁移到2.0
Oct 19 Javascript
分享一个vue实现的记事本功能案例
Apr 11 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表单提交问题的解决方法
2011/04/12 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
2016/05/17 PHP
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
setInterval,setTimeout与jquery混用的问题
2013/04/08 Javascript
jquery easyui滚动条部分设置介绍
2013/09/12 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
js+jquery常用知识点汇总
2015/03/03 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
Python实现的归并排序算法示例
2017/11/21 Python
python删除不需要的python文件方法
2018/04/24 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
python采集微信公众号文章
2018/12/20 Python
Python英文文本分词(无空格)模块wordninja的使用实例
2019/02/20 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
Linux安装Python3如何和系统自带的Python2并存
2020/07/23 Python
Python unittest discover批量执行代码实例
2020/09/08 Python
北美三大旅游网站之一:Travelocity加拿大
2016/08/20 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
加拿大的标志性百货公司:Hudson’s Bay(哈得逊湾)
2019/09/03 全球购物
毕业生多媒体设计求职信
2013/10/12 职场文书
护士自荐信怎么写
2013/10/18 职场文书
会计实习自我鉴定
2013/12/04 职场文书
实习评语大全
2014/04/26 职场文书
2015年全国科普日活动总结
2015/03/23 职场文书
结婚幸福感言
2015/08/01 职场文书
高中开学感言
2015/08/01 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android