一:总体的类型系
基本类型:数字类型(number),字符串类型(string),布尔类型(boolean);
复合类型:对象(对象,函数,数组等);
无类型:null(有定义),undefined(未定义).
js中获取类型:typeof
声明类型统一用:var
基本类型又可以称为数据类型,每种数据类型都有相对应的对象类型(包装类型)。
包装类型的作用:提供属性,方法等功能。
number--Number
string--String
boolean--Boolean
var number=10; number.toString();//number是一个基本类型,它又是如何能实现toString()方法的呢?
在数据操作的过程中,number在内存中创建临时的与之对应的包装类型,并执行toString方法,将结果返回,同时释放这个包装类型。
在JavaScript中判断等于和不等于有两种方式:
1.==和!=
只判断结果是否相同(存在隐式转换的问题)
2.===和!==
判断结果和类型是否都相同
var num=1; var str="1"; num==str; //返回true num===str;//返回false
二:三种基本的数据类型
1.string类型:字符串类型
+;表示连接
var str1="Hello"; var str2="JavaScript"; var str=str1+str2;//str="Hello JavaScript"
length;字符串长度
var str="dennis"; var length=str.length;//length的值为6
charAt(i);获得字符串中某一个位置的字符
var str="dennis"; var char=str.charAt(1);//char=e
substring(StartIndex,EndIndex);获取子字符串,从开始位置到结束位置
substr(StartIndex,Length);获取子字符串,从开始位置到指定长度的位置
var str="Hello JavaScript"; var str1=str.substring(0,6); //str1="Hello" var str2=str.substr(2,6); //str2="llo Ja"
split('|',数字);将字符串按某个字符分离,其中数字参数是可选的。
<script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3)) </script>
结果:
How,are,you,doing,today? H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,? How,are,you
2. number类型:数字类型
number类型中有很多方法,参考 http://www.w3school.com.cn/jsref/jsref_obj_number.asp
几种特殊的数字类型:NaN(不是一个数字的数字类型),判断可以用 isNaN();
Infinity 无穷,判断可以用 isFinite();
var num=0/0; alert(num); //输出NaN var num1=10/0; alert(num1); //输出Infinity
对应的包装类型Number
Number.MAX_VALUE //数字的最大值
Number.MIN_VALUE //数字的最小值
Number.POSITIVE_INFINITY //正无穷
Number.NEGATIVE_INFINITY //负无穷
document.write(Number.MAX_VALUE + "<br />"); //数字的最大值 document.write(Number.MIN_VALUE + "<br />"); //数字的最小值 document.write(Number.POSITIVE_INFINITY + "<br />"); //正无穷 document.write(Number.NEGATIVE_INFINITY + "<br />"); //负无穷)
结果:
1.7976931348623157e+308
5e-324
Infinity
-Infinity
3.boolean类型:布尔类型
布尔(逻辑)只能有两个值:true 或 false。
对应的包装类型Boolean用法参见:http://www.w3school.com.cn/jsref/jsref_obj_boolean.asp