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"
相关推荐
-
JScript中的undefined和"undefined"的区别
JScript中用于表示未定义的undefined标识符到底是表示什么未定义?它和"undefined"(包括"在内)又有什么区别和联系呢?为什么有的时候可以使用undefined来和变量做比较,而有的时候又不行呢? underfined和"undefined"的区别大家一眼就能看出来.在一般的认知下,我们认为undefined是JScript提供的一个"关键字",而"undefined"却毫无悬念的就是一个字符串,
-
js判断undefined类型,undefined,null, 的区别详细解析
js判断undefined类型 今天使用showModalDialog打开页面,返回值时.当打开的页面点击关闭按钮或直接点浏览器上的关闭则返回值是undefined所以自作聪明判断 var reValue=window.showModalDialog("","",""); if (reValue== undefined){ alert("undefined"); } 发现判断不出来,最后查了下资料要用typeof 方法:
-
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 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 null和undefined区别分析
一时间不好回答,特别是undefined,因为这涉及到undefined的实现原理.于是,细想之后,写下本文,请各位大侠拍砖. 总所周知:null == undefined 但是:null !== undefined 那么这两者到底有啥区别呢? 请听俺娓娓道来... null 这是一个对象,但是为空.因为是对象,所以 typeof null 返回 'object' . null 是 JavaScript 保留关键字. null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正
-
javascript中的undefined 与 null 的区别 补充篇
之前我们发不过类似的文章JavaScript null和undefined区别分析 JavaScript Undefined,Null类型和NaN值区别 先说说undefined: Javascript中的变量是弱类型的(关于这个我想就不用我多解释啦), 所以声明变量的时候只需使用var关键字即可.如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0.但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样
-
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
-
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判断参数(String,Array,Object)是否为undefined或者值为空
有时候我们会遇到这样的情况:在一些前端控件要提交数据到服务器端的数据验证过程中,需要判断提交的数据是否为空.如果是普通表单的字符串数据,只需要在 trim 后判断 length 即可,而这里需要的数据可以是各种不同的类型(数字.字符串.数组.对象等等),通过 JSON.stringify(data) 进行序列化后再传递. 在这里定义如下的数据值为"空值": •undefined•null•空字符串及纯空白字符串:''.' ' 等.•空数组:[]•空对象:{} 对于除此以外的数据值
-
区分JS中的undefined,null,"",0和false
在程序语言中定义的各种各样的数据类型中,我们都会为其定义一个"空值"或"假值",比如对象类型的空值null,.NET Framework中数据库字段的空值DBNull,boolean类型的假值false等等.在JavaScript中也有很多种的"空值"和"假值",那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的"空值"和"假值",除了boolean
-
js判断undefined变量类型使用typeof
js判断undefined变量类型直接用 复制代码 代码如下: if(mydata=='undefined'){ alert("未定义"); } 这是个很低级的错误,这么使: 复制代码 代码如下: if(typeof(mydata)=='undefined'){ alert("未定义"); }
-
JS 判断undefined的实现代码
以下是不正确的用法: 复制代码 代码如下: var exp = undefined; if (exp == undefined) { alert("undefined"); } exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样. 以下是正确的用法: 复制代码 代码如下: var exp = undefined; if (typeof(exp) == "undefined") { alert(&quo
随机推荐
- 正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式
- PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
- MongoDB入门教程之聚合和游标操作介绍
- spring对JDBC和orm的支持实例详解
- 举例分析Python中设计模式之外观模式的运用
- .Net WInform开发笔记(三)谈谈自制控件(自定义控件)
- Safari5中alert的无限循环BUG
- IIS7中ASP.net 请求处理过程说明
- PHP中extract()函数的定义和用法
- python根据出生日期返回年龄的方法
- Java 实现汉字转换为拼音的实例
- javascript获取系统当前时间的方法
- 教你在heroku云平台上部署Node.js应用
- 申请到Google的免费邮局
- powershell 将文本转换成表格的另一种可行方式
- 纯JS实现简单的日历
- CentOS6.4 下安装SVN的详细教程(超详细)
- Windows上SSH服务器配置图文教程
- AndroidStudio安全管理签名文件keystroe和签名密码(星空武哥)
- c#与WMI使用技巧集第1/2页