主题:基本概念:1.区分大小写<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
2.变量是弱类型(变量用var声明与不声明的区别->第19章)
3.每行结尾的分号可有可无
4.注释同java
5.大括号表明代码块
主题:变量:
- 变量名:第一个字符必须是字母、下划线(_)或美元符号($),余下字符可以是下划线、字母、数字或美元符号。
- 变量不一定要初始化:var test;alert(test);-》输出”undefined”
- 变量可以存放不同类型的值
- 变量使用之前不必声明(尽量避免)
主题:原始值和引用值:
- 原始值存储在栈中,引用值存储在堆中
- 原始类型:Undefined、Null、Boolean、Number、String-》String是原始类型存储在栈中!
主题:Typeof运算符:typeof o;
返回“undefined”,如果o是Undefined类型,或o从未声明(唯一一个可以用在未声明的变量上的运算符)
返回“boolean”,如果o是Boolean类型
返回“number”,如果o是Number类型
返回”string”,如果o是String类型
返回"function",如果o是Function类型
返回“object”,如果o是引用类型或Null类型。---》另一个运算符 instanceof:
o instanceof string-》当o是引用类型是进一步来区分到底是那种类型
主题:Undefined类型:-》实际是从Null派生而来
1. 只有一个值undefined
2. 变量为初始化或未声明时typeof都返回undefined
3. 当函数无返回值时返回的也是undefined
主题:Null类型:
1.只有一个专用值null,
2.alert(null == undefined)返回true
主题:Boolean类型:
1. true,false
2. 0可以在必要时转换成false(à转换一节)
主题:Number类型;
1. 可以表示32为整数或64位浮点数
2. 所有数学运算返回十进制
3. 浮点数字面量在运算前存储的是字符串
4. 特殊Number值:Number.MAX_VALUE,Number.MIN_VALUE,
Number.POSITIVE_INFINITY,Number.NEGATIVE_INFINITY,Infinity
5. 方法isFinite()用于测试是否是无穷大
6. NaN-》表示非数值,
7. alert(NaN==NaN)->输出false
8. isNaN()--》用于判断是否是非数值
主题:String类型:
1. unicode编码,16位
主题:转换:
1. 转换成字符串:toString()方法
Number的toString()方法有重载,可以指定转换成的字符串是二进制,八进制等等
2. 转换成数字:parseInt()和parseFloat()à参数必须是字符串否则返回NaN
>parseInt()->从第一个字符开始检索字符串直到已经不是数字
var iNum1 = parseInt(“1234blue”); //returns 1234
var iNum2 = parseInt(“0xA”); //returns 10à有前导0x的默认以16进制转换
var iNum3 = parseInt(“22.5”); //returns 22
var iNum4 = parseInt(“blue”); //returns NaN
var i1 = parseInt(“010”); //returns 8à有前导0的默认以八进制转换
var i2 = parseInt(“010”, 8); //returns 8
var i3 = parseInt(“010”, 10); //returns 10
>parseFloat()à类似parseInt的方式检索浮点数,不同点:字符串必须以十进制表示浮点数。
var fNum1 = parseFloat(“1234blue”); //returns 1234.0
var fNum2 = parseFloat(“0xA”); //returns NaNà只能十进制
var fNum3 = parseFloat(“22.5”); //returns 22.5
var f4 = parseFloat(“22.34.5”); //returns 22.34à第一个小数点有效
var fNum5 = parseFloat(“0908”); //returns 908à十进制
var fNum6 = parseFloat(“blue”); //returns NaN