日期:2014-05-16  浏览次数:20326 次

js中几个需要注意的数据类型

?

Undefined

Undefined类型只有一个值。即undefined.

---所有已申明而没有初始化的变量,默认值都为undefined

---函数没有明确返回值的时候,会默认返回undefined

---null也是object类型的一种

Js代码
  1. var s; ??
  2. alert(s);//underfined??
var s;
alert(s);//underfined

?

Js代码
  1. function test(){ ??
  2. ??
  3. } ??
  4. ??
  5. alert(test());//underfined??
function test(){

}
 
 alert(test());//underfined

Null

Null类型只有一个值,即null

---undefined从null派生而来,二者值相等

---null表示尚未存在的对象,这点和underfined定义不同

-----如何函数或方法返回值为对象,当对象不存在的情况下,返回null

Js代码
  1. alert(undefined==null);//true??
alert(undefined==null);//true

Js代码
  1. alert(typeof null);//object??

???

在JS中,如何获得Undefined呢?这里在两种情况下,可以产生它,其一为:对象的属性并不存在,其二为,声明了变量,但是从不为其赋值。应该引起我们大家注意的是:不能通过与undefined做比较来判断一个变量是否存在。不过我们可以检查它的类型是否为“undefined”。注意,这里的undefined有个“”来包括着。下面举例说明:如果我们想测试是否已经声明了变量x;
// 这种方法不起作用
if (x == undefined)
// 作某些操作

// 这个方法同样不起作用- 必须检查
// 字符串 "undefined"
if (typeof(x) == undefined)
// 作某些操作

// 这个方法有效
if (typeof(x) == "undefined")
// 作某些操作
考虑将 undefined 值与null做比较。

someObject.prop == null;
如下情况时,比较的结果为 true,

如果属性 someObject.prop 包含 null 值,
如果属性 someObject.prop 不存在。
要检查一个对象属性是否存在,可以使用新的 in 运算符:
if ("prop" in someObject)
// someObject 有属性 'prop'

http://hi.baidu.com/studyaspnet/blog/item/6b5bc117b751f50c4b90a7ed.html