JavaScript中获取纯正的undefined的方法
作者:bea
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,
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"
猜你喜欢
您可能感兴趣的文章:
- js日期插件dateHelp获取本月、三个月、今年的日期
- 不定义JQuery插件 不要说会JQuery
- javascript数组去重小结
- 详解JS正则replace的使用方法
- 浅谈javascript中的call、apply、bind
- 一波JavaScript日期判断脚本分享
- Node.js程序中的本地文件操作用法小结
- JavaScript实现数据类型的相互转换
- 在React框架中实现一些AngularJS中ng指令的例子
- javascript实现label标签跳出循环操作
- 使用JavaScript脚本判断页面是否在微信中被打开
- JavaScript实现图片滑动切换的代码示例分享
- 使用jQuery或者原生js实现鼠标滚动加载页面新数据
- AngularJS页面访问时出现页面闪烁问题的解决
- JavaScript模拟数组合并concat
- JavaScript模拟push
- JavaScript中利用jQuery绑定事件的几种方式小结
- Node.js模块封装及使用方法
- JavaScript中三种异步上传文件方式