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 相关文章推荐
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
Mar 12 Javascript
控制文字内容的显示与隐藏示例
Jun 11 Javascript
浅谈javascript属性onresize
Apr 20 Javascript
浅谈JavaScript前端开发的MVC结构与MVVM结构
Jun 03 Javascript
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
原生js实现密码输入框值的显示隐藏
Jul 17 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
vuex直接赋值的三种方法总结
Sep 16 Javascript
angular将html代码输出为内容的实例
Sep 30 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
Nov 13 Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 Javascript
Vue3.0中Ref与Reactive的区别示例详析
Jul 07 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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP及Zend Engine的线程安全模型分析
2011/11/10 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
php抽象类使用要点与注意事项分析
2015/02/09 PHP
注意!PHP 7中不要做的10件事
2016/09/18 PHP
js正确获取元素样式详解
2009/08/07 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
vue实现条件判断动态绑定样式的方法
2018/09/29 Javascript
JavaScript中.min.js和.js文件的区别讲解
2019/02/13 Javascript
基于node简单实现RSA加解密的方法步骤
2019/03/21 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
JavaScript中CreateTextFile函数
2020/08/30 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
Python基于更相减损术实现求解最大公约数的方法
2018/04/04 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Python中实现输入一个整数的案例
2020/05/03 Python
Bed Bath & Beyond加拿大官网:购买床上用品、浴巾、厨房电器等
2019/10/04 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
商务英语大学生职业生涯规划书范文
2014/01/01 职场文书
服务员岗位职责
2014/01/29 职场文书
家长对孩子评语
2014/01/30 职场文书
2014最新离职证明范本
2014/09/12 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
初一语文教学反思
2016/03/03 职场文书
Linux在两个服务器直接传文件的操作方法
2022/08/05 Servers