您的位置:首页 > Web前端 > JavaScript

javascript基本数据类型

2011-11-17 15:25 330 查看
ECAMScript中有5种简单的数据类型(也称为基本数据类型):Undefined,Null,Boolean,Number,String和1种复杂数据类型Object。

数据类型虽然简单,但是会经常会发生一些意想不到的结果。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>数据类型</title>
<script type="text/javascript">

//Undefined类型
function basicUndefined(){
var message;//未初始化,默认值是undefined
alert(message == undefined);//返回false
alert(typeof message);//undefined
message=123;
alert(typeof message);//number typeof用来检测给定变量的数据类型
}

//Null类型
function basicNull(){
var car=null;//null值表示一个空对象指针,所有用typeof检测null时会返回object的原因
alert(car);//null
alert(car != null)//判断,false
alert(typeof car);//object
alert(null == undefined);//true ECMA-262规定他们的相等性测试
}

//Boolean类型
//Object 任何对象返回true,null返回false
//undefined 返回false
function basicBoolean(){
var message=""
if(Boolean(message))//对于String类型,任何非空字符串会返回true, null,""等会返回false
{
alert(message);
alert(Boolean(message));
}

var number=145;
if(Boolean(number)){ //对应Number类型,任何非零字符串(包括无穷大)返回true,0和NaN返回false
alert(Boolean(number));
alert(number);
}
}

//Number类型
function basicNumber(){
var a=0.1;
var b=0.2;
if(a+b==0.3){
alert(" you get 0.3");
}else{
alert("you get "+(a+b));
}
alert(Number.MAX_VALUE);//js保存的最大数值
alert(Number.MIN_VALUE);//js保存的最小数值
alert(isFinite(Number.MAX_VALUE+Number.MIN_VALUE));//isFinite()函数用来判断是不是位于最大值和最小值之间

//数值转换 Number(),parseInt(),parseFloat()
//parseInt()函数转换时,它会从第一个非空格朝气,如果第一个字符串不是数字字符或者负号,则返回NaN
//isNaN 不是数值

//parseFloat()与parseInt()的区别是它始终会忽略前导0
//       alert(parseFloat("0985.3"));//985.3
//       alert("12345sdf562="+parseInt("12345sdf562"));//1234
//       alert("s12345sdf562="+parseInt("s12345sdf562"));//NaN
//       alert("s12345sdf562="+Number("s12345sdf562"));//NaN
//       alert("sd22.35.3="+parseFloat("sd22.35.3"));//NaN
//       alert("22.35.3sd="+parseFloat("22.35.3"));//22.35
//       alert(Number(""));// 0
//       alert(Number(true));//1
//       alert(parseInt(""));//NaN
//       alert("070nihao="+parseInt("070nihao"));//56
//       alert("070="+parseInt("070"));//56
}

//String类型
//字符串特点:ECMAScript中的字符串是不可变的,要改变某个变了保存的字符串,首先要销毁原来的字符串,然后再用另一个新值填充该变量。
function basicString(){
//转换字符串用toString()方法
var num=10;
alert(num.toString());//"10"
alert(num.toString(2));//表示以二进制格式返回数值的字符串,还可以是八进制,十六进制等  "1010"
//alert(null.toString());//null和undefined没有toString()方法
alert(String(null));   //null String()可以将任何类型的值转换为字符串
}

//Object类型  可以用valueOf()或toString()方法获取对象方法的值
function basicObject(){
var o={
valueOf:function(){return -1;}
};
alert(o+5);
}

//创建object实例的两种方式,第一种通过new操作符后跟Object构造函数如:var person=new Object();person.name="hello";
//第二种方式是使用对象字面量表示如:var person={ name:"hello",age:22};
function displayInfo(args){
var output="";
if(typeof args.name=="string"){
output+="Name: "+args.name+"\n";
}
if(typeof args.age=="number"){
output+="Age: "+args.age+"\n";
}
alert(output);
}

</script>
</head>
<body>
<input  type="button" value="Undefined" onclick="basicUndefined()"/>
<input type="button" value="Null" onclick="basicNull();" />
<input type="button" value="Boolean" onclick="basicBoolean();" />
<input type="button" value="Number" onclick="basicNumber();" />
<input type="button" value="String" onclick="basicString();" />
<input type="button" value="Object" onclick="basicObject();" />
<input type="button" value="调用一" onclick="displayInfo({name:'alice'})" />
<input type="button" value="调用二" onclick="displayInfo({name:'alice',age:29})" />
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: