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 相关文章推荐
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
Oct 06 Javascript
javascript解决IE6下hover问题的方法
Jul 28 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
JavaScript之WebSocket技术详解
Nov 18 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
Apr 07 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 jQuery
关于javascript sort()排序你可能忽略的一点理解
Jul 18 Javascript
React Native 搭建开发环境的方法步骤
Oct 30 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
Sep 11 Javascript
vue 组件间的通信之子组件向父组件传值的方式
Jul 29 Javascript
javascript实现移动端上传图片功能
Aug 18 Javascript
在vue中使用image-webpack-loader实例
Nov 12 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 数组教程 定义数组
2009/10/23 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
2014/08/23 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
Zend Framework实现Zend_View集成Smarty模板系统的方法
2016/03/05 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
Node.js实现在目录中查找某个字符串及所在文件
2014/09/03 Javascript
javascript制作坦克大战全纪录(2)
2014/11/27 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
基于jQuery实现在线选座之高铁版
2015/08/24 Javascript
js实现简单的省市县三级联动效果实例
2016/02/18 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
vue Element-ui input 远程搜索与修改建议显示模版的示例代码
2017/10/19 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
JavaScript如何把两个数组对象合并过程解析
2019/10/10 Javascript
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
浅谈python迭代器
2017/11/08 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
python下载库的步骤方法
2019/10/12 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
初中校园之声广播稿
2014/01/15 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
教师见习报告范文
2014/11/03 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
Python如何识别银行卡卡号?
2021/06/10 Python
Docker部署Mysql8的实现步骤
2022/07/07 Servers