JavaScript中获取纯正的undefined的方法
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 中 null、NaN和undefined的区别总结
1.类型分析: js中的数据类型有undefined,boolean,number,string,object等5种,前4种为原始类型,第5种为引用类型. 代码 复制代码 代码如下: var a1; var a2 = true; var a3 = 1; var a4 = "Hello"; var a5 = new Object(); var a6 = null; var a7 = NaN; var a8 = undefined; alert(typeof a); //显示"u
-
区分JS中的undefined,null,"",0和false
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean
-
javascript中的undefined 与 null 的区别 补充篇
之前我们发不过类似的文章JavaScript null和undefined区别分析 JavaScript Undefined,Null类型和NaN值区别 先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的时候只需使用var关键字即可.如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0.但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样
-
JS 判断undefined的实现代码
以下是不正确的用法: 复制代码 代码如下: var exp = undefined; if (exp == undefined) { alert("undefined"); } exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样. 以下是正确的用法: 复制代码 代码如下: var exp = undefined; if (typeof(exp) == "undefined") { alert(&quo
-
JavaScript null和undefined区别分析
一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位大侠拍砖. 总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来... null 这是一个对象,但是为空.因为是对象,所以 typeof null 返回 'object' . null 是 JavaScript 保留关键字. null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正
-
Js判断参数(String,Array,Object)是否为undefined或者值为空
有时候我们会遇到这样的情况:在一些前端控件要提交数据到服务器端的数据验证过程中,需要判断提交的数据是否为空.如果是普通表单的字符串数据,只需要在 trim 后判断 length 即可,而这里需要的数据可以是各种不同的类型(数字.字符串.数组.对象等等),通过 JSON.stringify(data) 进行序列化后再传递. 在这里定义如下的数据值为"空值": •undefined•null•空字符串及纯空白字符串:''.' ' 等.•空数组:[]•空对象:{} 对于除此以外的数据值
-
JavaScript中null与undefined分析
1.javascript中定义而未赋初值的变量,其默认值为undefined. eg. 复制代码 代码如下: var testundefined; if(undefined==testundefined){ alert("undefined==testundefined");//output undefined==testundefined } 2.javascript中null和undefined是相等的. 复制代码 代码如下: var testNull=null; var test
-
js null,undefined,字符串小结
复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>null,undef
-
JavaScript Undefined,Null类型和NaN值区别
一 Undefined 类型 只有一种值 undefined 以下三种情况typeof 返回类型为undefined 1. 当变量未初始化时 2. 变量未定义时 3. 函数无明确返回值时(函数没有返回值时返回的都是undefined) undefined 并不等同于未定义的值 typeof 并不真正区分是否是未定义 看以下示例代码: var oTemp; alert(typeof oTemp); // outputs "undefined" alert(typeof oTemp2);/
-
js判断undefined类型,undefined,null, 的区别详细解析
js判断undefined类型 今天使用showModalDialog打开页面,返回值时.当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回值是undefined所以自作聪明判断 var reValue=window.showModalDialog("","",""); if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof 方法:
-
js判断undefined变量类型使用typeof
js判断undefined变量类型直接用 复制代码 代码如下: if(mydata=='undefined'){ alert("未定义"); } 这是个很低级的错误,这么使: 复制代码 代码如下: if(typeof(mydata)=='undefined'){ alert("未定义"); }
-
JScript中的undefined和"undefined"的区别
JScript中用于表示未定义的undefined标识符到底是表示什么未定义?它和"undefined"(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用undefined来和变量做比较,而有的时候又不行呢? underfined和"undefined"的区别大家一眼就能看出来.在一般的认知下,我们认为undefined是JScript提供的一个"关键字",而"undefined"却毫无悬念的就是一个字符串,
随机推荐
- ExtJS判断IE浏览器类型的方法
- 让Silverlight 2.0动画动起来Making Silverlight 2.0 animation Start(不能运动原因)
- SWT(JFace) 打印功能
- python中二维阵列的变换实例
- CentOS 7 在vmware中的网络设置详细介绍
- js实现使用鼠标拖拽切换图片的方法
- 生成多字段排序分页的SQL的通用类
- 初识ThinkPHP控制器
- 优化PHP代码的53条建议
- 使用Python设置tmpfs来加速项目的教程
- Cisco网络防火墙配置方法
- Ruby基础知识之方法、代码段
- java中的转义字符介绍
- jQuery的extend方法【三种】
- 详谈jQuery中使用attr(), prop(), val()获取value的异同
- jQuery实现的瀑布流加载效果示例
- 详细解读JavaScript编程中的Promise使用
- 微信小程序组件之srcoll-view的详解
- Android SharedPreferences实现数据存储功能
- 基于C程序启动代码的深入分析