在js中判断一个对象是null还是undefined.
对于undefined推荐使用===(注意是三个等号,bt吧)或使用typeof,为什么呢?
先看一段Code
var obj;
alert(obj == null);
alert(obj == undefined);
结果是什么?true,true那obj到底是undefined呢还是defined呢?当然是defined的了,而且是null,显然通过==是区分不了的,那要将==替换为===呢?结果就是false,true,个中原因我就不说了,(偷一下懒 :-) ),那如何区分呢?应该使用===或者是typeof,用法?很简单:
if(typeof obj == "undefined")
if(obj === undefined)
分享到:
相关推荐
JavaScript 中,假设我们想判断一个是否是undefined,那么我们通常会这样写: if(a === undefined){//code} 但是,JavaScript 中的undefined并不可靠,我们试着写这样一个函数: function test(a) { var ...
(不过要注意如果你的x==0也是合法值的话就不能使用if(x){}来做条件判断了) 为了证明这种多余,俺也特意做了以下测试: var a; alert(x) if(x==null){ alert(‘failed’) } 其中x为一个未初始化
if (reValue== undefined){ alert(“undefined”); } 发现判断不出来,最后查了下资料要用typeof 方法:if (typeof(reValue) == “undefined”) { alert(“undefined”); } typeof 返回的是字符...
以下是不正确的用法: 代码如下:var exp = undefined; if (exp == undefined) { alert(“undefined”); } exp 为 null 时,也会得到与 undefined 相同的结果,虽然 null 和 undefined 不一样。 以下是正确的...
本文实例讲述了js判断登录与否并确定跳转页面的方法。分享给大家供大家参考。... if (customerId == undefined) { p.attr("href", "page/Login/login.html"); <span xss=removed> </span>} else {
if(typeof url == "undefined"|| null == url) { url = [removed].href; } var regex = /^\w+\:\/\/([^\/]*).*/; var match = url.match(regex); if(typeof match != "undefined" && null != match) { host =...
if (obj !== undefined) { comp[key] = obj; } var deep = typeof comp[key] === 'object'; comp.$watch(key, function (val) { //console.log("page " + key + " updated"); cache[key] = val;
var b = undefined; 以上这两种情况算作没有值 if(a !== null && a !== undefined) { // } // 为什么不能单用if(a !== null) { // } var a; a !== null; // true // 为什么不能单用if(a !== undefined) { // } var...
= undefined && o !== null && (!!t ? o.constructor == t : true); }; var parse = function (path) { var m, rx = /\[([^[]*)\]/g, match = /^([^[]+)(\[.*\])?$/.exec(path), base = match[1], tokens...
1.概述 null和undefined属于js中两种不同的基本数据类型,都可以表示“没有”,含义非常相似。将一个变量赋值为undefined或null,老实说,语法效果几乎没区别。并且在if语句的判断条件中,...if (null == undefined) {
if (editIndex == undefined){return true} if ($('#prodgEdit').datagrid('validateRow', editIndex)){ $('#prodgEdit').datagrid('endEdit', editIndex); editIndex = undefined; return true; } else { ...
for(var d in b)if(a[d]===undefined||!c&&b.hasOwnProperty&&b.hasOwnProperty(d)&&!a.hasOwnProperty(d))a[d]=b[d];return!c&&b&&b.hasOwnProperty&&b.hasOwnProperty("toString")&&!a.hasOwnProperty("toString")...
var undefined=10; function sum(a,b){ if(a===undefined||b===undefined){ console.log("参数不正确"); }18101130357 return a+b; } sum(10,10)->本来正确的参数,控制台输出的确实”参数错误”; 这时候,为了...
return undefined; } var depthIntersection; if (scene.pickPositionSupported) { depthIntersection = scene.pickPositionWorldCoordinates(mousePosition, scratchDepthIntersection); } var ray = ...
if(typeof Control=="undefined"){Control={}}Control.DatePicker=Class.create({initialize:function(element,options){this.element=$(element);if(dp=this.element.retrieve("datepicker")){dp.destroy()}this....
hoisting机制 ...答案是:undefined 这段代码说明了两个问题, 第一,function作用域里的变量v遮盖了上层作用域变量v。代码做少些变动 var v = "hello"; if(true){ console.log(v); var v = "wo
var a = undefined; var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。 undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。 if (!undefined) ...
exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。 注意:要同时判断 null 和 undefined 时可使用本法。 var exp = null; if (!exp) { alert(is null); } 如果 exp 为 ...
if($)for(var B in $)if(this.dt[B]===undefined)this.errMsg="invalid property:"+B;else{this.dt[B]+=$[B];if(B=="M"){var C=$["M"]>0?1:0,A=new Date(this.dt["y"],this.dt["M"],0).getDate();this.dt["d"]=Math....
var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); } 说明:typeof 返回的是字符串,有六种可能:”number”、”string”、”boolean”、”object”、”function”、”undefined...