《Javascript高级程序设计》读书笔记——ECMAScript基础(1)

主题:基本概念:1.区分大小写<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

         2.变量是弱类型(变量用var声明与不声明的区别->19章)

         3.每行结尾的分号可有可无

         4.注释同java

         5.大括号表明代码块

主题:变量:

  1. 变量名:第一个字符必须是字母、下划线(_)或美元符号($),余下字符可以是下划线、字母、数字或美元符号。

  2. 变量不一定要初始化:var testalert(test);-》输出”undefined”

  3. 变量可以存放不同类型的值

  4. 变量使用之前不必声明(尽量避免)

主题:原始值和引用值:

  1. 原始值存储在栈中,引用值存储在堆中

  2. 原始类型:UndefinedNullBooleanNumberString-String是原始类型存储在栈中!

主题:Typeof运算符:typeof o

返回“undefined”,如果oUndefined类型,或o从未声明(唯一一个可以用在未声明的变量上的运算符)

返回“boolean”,如果oBoolean类型

返回“number”,如果oNumber类型

返回”string”,如果oString类型

返回"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.      truefalse

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()方法

NumbertoString()方法有重载,可以指定转换成的字符串是二进制,八进制等等

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章