zl程序教程

您现在的位置是:首页 >  前端

当前栏目

Javascript中的五种数据类型详解

JavaScript 详解 数据类型 五种
2023-06-13 09:15:37 时间

Undefined

未定义。只有一个值undefined

Null

       只有一个值,null

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

复制代码代码如下:


if(3)true
if(null)false
if(undefined)false

Number

String

javascript中不存在char类型。

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

复制代码代码如下:


<html>
<head>
<scripttype="text/javascript">
//vars="hello";
//alert(typeofs);//s是字符串类型

vars=newString("hello");//s是对象类型
alert(typeofs);
</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>
<scripttype="text/javascript">
varnum=Number(3);
alert(num);
vars="hello";
alert(Boolean(s));
vars1=String("hello");
alert(typeofs1);
varobj=newString("hello");//这不是强制类型转换!
alert(typeofobj);
</script>
</head>        
<body>
</body>
</html>

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

用new的方式生成。

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

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

复制代码代码如下:
<html>
<head>
<scripttype="text/javascript">
varobject=newObject();
for(varvinobject){
   console.log(v);
}
alert(object.propertyIsEnumerable("prototype"));//返回了false,表示没有可以枚举的属性,也意味着子对象相应的属性也是不可以枚举的
</script>
</head>        
<body>
</body>
</html>

枚举自定义类型的属性

复制代码代码如下:
<html>
<head>
<scripttype="text/javascript">
varmember=function(name,age){
   this.name=name;
   this.age=age;
}
varm=newmember("liudh",50);
for(varvinm){
   console.log(v);
   //name
   //age
}
alert(m.propertyIsEnumerable("prototype"));//false
//for(varvinwindow){
//   console.log(v);
//}
</script>
</head>        
<body>
</body>
</html>