当讨论JavaScript中的原始数据类型时,大多数人都知道的基本知识,从String,Number到Boolean。这些原始类型相当简单,行为符合常识。但是,本文将更多聚焦独特的原始数据类型Null和Undefined,是什么让他们如此相似,却又似是而非。 一、理解Null和Undefined 在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值。换句话说,这用来表示“无值(no value)”。虽然相似,undefined实际上代表了不存在的...
当讨论JavaScript中的原始数据类型时,大多数人都知道从String、Number到Boolean的基本知识。这些原始类型相当简单,行为符合常识。但是,本文将更多关注独特的原始数据类型Null和Undefined,是什么让它们如此相似,却又似是而非。 一、理解null和undefined 在JavaScript中,null是字面量同时也是语言中的关键字,用来表示无法识别的对象值。换句话说,这用来表示“无值(no value)”,但你可以决定什么时候得到期望值。 虽然相似...
大多数计算机语言,有且仅有一个表示"无"的值,比如,C语言的NULL,Java语言的null,Python语言的None,Ruby语言的nil。 有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么? 一、相似性在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 var a = undefined;var a = null;上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。 undefined和null在if语句中,...
先说null,它表示一个特殊值,常用来描述“空值”。对null执行typeof运算,结果返回字符串“object”,也就是说,可以将null认为是一个特殊的对象值,含义是“非对象”(感觉怪怪的)。实际上,通常认为null是它自有类型的唯一一个成员,它可以表示数字、字符串和对象是“无值”的。JavaScript还有第二个值来表示值的空缺,就是undefined啦,用未定义的值表示更深层次的“空值”。undefined出现有4种情况:①变量声明但没有初始化时...
在JavaScript中存在这样两种原始类型:Null与Undefined。这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undefined类型只有一个值,即undefined。当声明的变量还未被初始化时,变量的默认值为undefined。 Null类型也只有一个值,即null。null用来表示尚未存在的对象,常用来表示函数企图返回一个不存在的对象。代码如下: var oValue; alert(oValue == undefined); //output "true" ...
今天手写了一个简单的页面做测试用,写完js部分总是报 TypeError document.getElementById(...) is null 这个错误,代码看了几遍,语法上没找着什么错误,没办法,就在互联网上搜索了一下,才发现 document.getElementById 这个根据id找节点的语法写法还是有点讲究的,具体如下: (1)如果写在 id 所在节点的前面,比如 head 块中,则要如下写法:代码如下: window.onload=function(){ ......js代码 }以上代码的意思是在html元素...
JavaScript中存在2个代表信息不存在的特殊值:null和undefined。个人认为可以从以下角度来理解这两个特殊值之间的区别:1.null代表有存储信息的容器(比如之前被赋过值的变量),但该容器中的内容为空。 2.undefined代表不存在用于存储信息的容器。JavaScript中的null与其它多数编程语言中的null没有什么区别,基本用于表示信息值为空;而在JavaScript中下述情况下表达式返回结果为undefined:1.从未被赋过值的变量。 2.访问某个对象...
首先说下null与undefined区别: 对已声明但未初始化的和未声明的变量执行typeof,都返回"undefined"。 null表示一个空对象指针,typeof操作会返回"object"。 一般不显式的把变量的值设置为undefined,但null相反,对于将要保存对象的变量,应明确的让该变量保存null值。var bj; alert(bj); //"undefined" bj = null; alert(typeof bj); //"object" alert(bj == null); //true bj = {}; alert(bj == null); //false 下面两个函数是邓...
先说说undefined: Javascript中的变量是弱类型的, 所以声明变量的时候只需使用var关键字即可。如果是像C这样的强类型语言, 声明变量的时候如果没有指定初始值,那么会给他一个默认值,比如int变量的默认值是0。但是在Javascript这样的弱类型语言中,没有办法确定到底该给这样的变量一个什么样的默认值,比如我声明一个变量 var v1; 是给他false还是0,或者是 ? 因为没有类型,所以无法确定。 在Javascript中对于这种生命后没有给...
/** * 判断是否null * @param data */ function isNull(data){ return (data == "" || data == undefined || data == null) ? "暂无" : data; }
代码如下:function dealNull(obj){ for(var i in obj){ if(null == obj[i] || null == obj[i]){ obj[i]=; }else if(object == typeof obj[i]){ dealNull(obj[i]); } } }; // 测试的对象 var a={}; a.aa=null; a.bb=null; a.c=1; a.b={}; a.b.aaa=null; a.b.bbb=null; a.b.c=1; a.array=[]; a.array.push({a:null,b:null,c:1}); a.array.push({a1:null,b1:null,c1:1}); a.array.push({a2:null,b2:null,c2:1}); dealNull(a);
有点奇怪的是,JavaScript语言居然有两个表示"无"的值:undefined和null。这是为什么? 一、相似性在JavaScript中,将一个变量赋值为undefined或null,老实说,几乎没区别。 代码如下:var a = undefined;var a = null; 上面代码中,a变量分别被赋值为undefined和null,这两种写法几乎等价。undefined和null在if语句中,都会被自动转为false,相等运算符甚至直接报告两者相等。 代码如下:if (!undefined) console.log(undefined...
写了个 str ="s"++; 然后出现Nan,找了一会。 收集资料如下判断: 1.判断undefined: var tmp = undefined; if (typeof(tmp) == "undefined"){ alert("undefined"); }说明:typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined" 2.判断null: var tmp = null; if (!tmp && typeof(tmp)!="undefined" && tmp!=0){ alert("null"); }3.判断NaN: var tmp = 0/0; if(isNaN(tmp))...
1、Javascript变量作用域 javascript中,变量主要分为局部变量和全局变量两种,对应的作用域也是局部作用域和全局作用域。 1 局部变量和作用域 局部变量一般在函数体内部声明使用: function func(){var i=12;//局部变量...... }局部变量的作用域在声明这个变量的函数体范围内使用。 局部变量的声明周期从函数被调用执行开始初始化,在函数调用执行完毕之后被销毁。 2、全局变量和作用域 全局变量一般在函数体外面声明: var i=12...
最近突然发现自己写的JavaScript代码比较臃肿,所以开始研究JavaScript的简写方法。这样一来,可以让我们的JavaScript代码看起来比较清爽,同时也可以提高我们的技术。那么判断为空怎么简写呢? 下面就是有关判断为空的简写方法。 代码如下 代码如下:if (variable1 !== null || variable1 !== undefined || variable1 !== ) { var variable2 = variable1; } 上面的意思是说如果variable1不是一个空对象,或者未定义,或者不等于空...