一 变量:JavaScript的变量是松散类型,也就是一个变量可以保存任何数据类型。换言之,一个变量只是用于保存值得占位符。变量的声明如下:var name;
二 数据类型:5中基本类型有Undefined、Null、Boolean、Number和String。一种复杂数据类型Object,本质上由一组无序的名值对组成。JavaScript不支持任何自定义类型机制,所有值都是上述六种之一。
1 Undefinde类型:
有声明但没有初始化的变量
<script>
var s;
alert(s);
</script> //undefined
*没有初始化的变量会自动赋值undefined,显示初始化变量是更好的选择。
2 Null类型:
<script>
var s=null;
alert(typeof s);
</script> //Object
<script>
alert(null==undefined);
</script> //true
*对于意在保存对象的变量在还没有真正的保存对象的时候,明确的让变量保存null是明智的。
3 Boolean类型:
只用两个值true和false(区分大小写)
Boolean()把其他类型转Boolean,转化规则是重点:
类型 | true | false |
Boolean | true | false |
String | 非空字符串 | “和空字符串” |
Number | 非零数字 | 0和NaN |
Object | 任何对象 | null |
Undefined | n/a | undefined |
4 Number类型:
数值转化:
Number()适用于任何对象,转化规则如下:
(1)Boolean类型,true和false对应1和0
(2)null值,返回0
(3)undefined值,返回NaN
(4)字符串处理规则如下:
只包含数字(包括前面带正负号)去掉前导零转化对应的十进制数
包含有效的浮点数,去掉前导零,转化浮点数值
包含十六进制,转化为相同大小的十进制数字
字符串是空,转化为0
包含其他格式,转化NaN
(5)如果是对象,调用对象的valueof()方法,根据前面规则转化。如果转化的结果NaN,调用对象的toString()方法,在根据前面的规则转化。
parseInt()函数:忽略字符串前面的空格,如果第一个字符不是数字或负号,返回NaN。如果是,解析第二个字符,直到解析完成所有的字符或遇到非数字字符。如果字符串第一个字符是数字字符,
能够识别出八进制和十六进制数字,并转化相同大小的十进制数字。parseFloat()和parseInt()相比有两点不同:始终忽略前导零,第一个小数点有效,第二个小数点无效。
5 Stirng类型:
toString()和String()
toString()返回相应值的字符串表现,null和undefined没这个方法。
String():
有toStirng(),调用toString()返回结果
null 返回"null“,undefined返回“undefined”
6 Object类型:本质就是一组数据和功能的集合,Object类型是所有的实例的基础,Object类具有的任何属性和方法也同样存在
具体的对象中。var o=new Object();
(参考JavaScript高级程序设计)