Javascript中的五种数据类型

  • Undefined

未定义。只有一个值undefined

  • Null

        只有一个值,null

  • Boolean

在javascript中,只要逻辑表达式不返回undefined不返回null,就都是真的。

if(3) true

if(null) false

if(undefined) false

  • Number

 

  • String

javascript中不存在char类型。

字符串定义可以用单引号,也可以用双引号。

<html> 
<head> 
<script type="text/javascript"> 
//var s="hello"; 
//alert(typeof s);//s是字符串类型

var s=new String("hello");//s 是对象类型 
alert(typeof s); 
</script> 
</head>         
<body> 
</body> 
</html>
  • typeof 是一个一元运算符,用来获得变量的数据类型

其返回值有五个 undefined,boolean,number,string以及object.

其中前面四个都好理解。而最后一个object是让程序员无从判断的,只笼统的返回了object

 

  • 在javascript中,如果函数没有声明返回值,那么会默认返回undefined。

如果声明了返回值,那么实际返回什么就是什么。

  • undefined从null派生,所以比较时返回true

               alert(undefined==null);//true

 

  • 强制类型转换

在javascript中,有三种强制类型转换:

Boolean(value)

Number(value)

String(value)

<html> 
<head> 
<script type="text/javascript"> 
var num=Number(3); 
alert(num);

var s="hello"; 
alert(Boolean(s));

var s1=String("hello"); 
alert(typeof s1);

var obj=new String("hello");//这不是强制类型转换! 
alert(typeof obj); 
</script> 
</head>         
<body> 
</body> 
</html>

 

 

在javascript中,所有的对象都继承自Object对象。

new 的方式生成。

js中有些方法是可以枚举出来的,有些是不行的。

用js内置方法可以判断,是否可以枚举出来。

<html> 
<head> 
<script type="text/javascript"> 
var object=new Object();

for(var v in object){ 
    console.log(v); 
}

alert(object.propertyIsEnumerable("prototype"));//返回了false,表示没有可以枚举的属性,也意味着子对象相应的属性也是不可以枚举的 
</script> 
</head>         
<body> 
</body>

</html>

 

 

枚举自定义类型的属性

<html> 
<head> 
<script type="text/javascript"> 
var member=function(name,age){ 
    this.name=name; 
    this.age=age; 
} 
var m=new member("liudh",50);

for(var v in m){ 
    console.log(v); 
    //name 
    //age 
} 
alert(m.propertyIsEnumerable("prototype"));//false



//for(var v in window){ 
//    console.log(v); 
//}


</script> 
</head>         
<body> 
</body> 
</html>
posted @ 2014-12-25 19:00  刘江龙  阅读(387)  评论(0编辑  收藏  举报