日期:2014-05-16  浏览次数:20453 次

JavaScript高级程序设计 学习笔记

CMAScript 有五种原始类型:Undefined, Null, Boolean, Number, String
Number类有几个处理数值的专用方法:

1. toFixed()方法返回具有指定位数小数的数字的字符串。一个参数表示小数的位数。
?2. toExponential()方法返回用科学记数法表示的数字的字符串形式。一个参数表示小数的位数。
?3. toPrecision()方法根据最有意义的形式来返回数字的预定形式或指数形式。一个参数表示数字总数(数字的位数)
?三个方法都会对数字进行四舍五入。
String类的方法
?1. String类具有属性length,它是字符串中字符的个数
?2. charAt()和charCodeAt()方法分别返回指定位置的单个字符或字符的代码
?3. concat()方法,用于把字符串连接到String对象后面,此方法返回拼接后的String,但保持原始的String对象不变
?4. indexOf()和lastIndexOf()方法返回指定子串在另一字符串的位置(或-1)
?5. localeCompare()方法对字符串进行排序,返回值为负数(String对象排在参数之前)、0(String对象和参数相同)、正数(String对象排在参数之后)
?6. slice()和substring()方法,当参数为负数时,两个方法不一样。
?7. toLowerCase(), toLocaleLowerCase(), toUpperCase(), toLocaleUpperCase(),大小写转换方法。
instanceof和typeof运算符
运算符:
一、一元运算符

?1. delete 删除以前用户定义的对象属性或方法的引用
?2. void 运算符对任何值都返回undefined,该运算符通常用于避免输出不应该输出的值。
?3. 前增量(++)和前减量(--)运算符:++a, --a
?4. 后增量(++)和后减量(--)运算符:a++, a--
?5. 一元加法和一元减法运算符: var b="5"; var a = +b; var c = -b; ,此两个运算符可以将String转换为Number,如例:a=5, c=-5。
二、位运算符
?1. 位运算符NOT由否定号(~)表示。位运算NOT实质上是对数字求负,然后减1。
?2. 位运算符AND由和号(&)表示。
?3. 位运算符OR由符号(|)表示。
?4. 位运算符XOR由符号(^)表示
?5. 左移运算符由两个小于号表示(<<)
?6. 有符号右移运算由两个大于号表示(>>)
?7. 无符号右移运算由三个大于号(>>>)表示
三、Boolean 运算符
?1. 逻辑NOT 由感叹号(!)表示,返回Boolean值
?2. 逻辑AND 由双和号(&&)表示,若某一运算数不是Boolean值,运算不一定返回Boolean值
?3. 逻辑OR? 由双竖线(||)表示,若某一运算数不是Boolean值,运算不一定返回Boolean值
四、乘性运算符
?1. 乘法运算符(*)
?2. 除法运算符(/)
?3. 取模运算符(%)
五、加性运算符 :加(+)、减(-)
六、关系运算符 :小于(<) 、大于(>)、小于等于(<=)、大于等于(>=)
七、等性运算符
?1. 等号和非等号(==、!=)
?2. 全等号和非全等号(===、!==)
八、条件运算符 (? :)
九、赋值运算符 :=, +=, -=, *=, /=, %=, <<=, >>=, >>>=
十、逗号运算符 :最常用于变量声明中。
语句:
一、if语句
?if(condition) statement1 else statement2
?if(condition) statement1 else if(condition2) statement2 else statement3
二、迭代语句
?1. do-while语句
?2. while语句
?3. for语句 for(initialization; expression; post-loop-expression) statement
?4. for-in语句 for(property in expression) statement
三、有标签语句 :lable:statement
四、break语句和continue语句
五、with语句 with(expression) statement;
六、switch语句
把对象的引用都设为null,可以强制性的废除对象

本地对象
本地对象就是ECMA-262定义的类(引用类型),它们包括:
Object Function Array String Boolean Number Date RegExp Error EvalError RangeError ReferenceError SyntaxError TypeError URIError
一、Array类
?1. 可用属性length得到数组的大小
?2. join()方法将数组转换为字符串,参数为连接符;String类的方法split()方法将字符串转换成数组。
?3. concat()方法 参数被附加在数组末尾,返回的是新的Array对象
?4. slice()方法返回具有指定项的新数组,参数可以是一个可两个,为要返回的数组的位置下标
?5. push()和pop(),push()方法用于在Array结尾添加一个或多个项,pop()方法用于删除最后一个数组项,返回它作为函数值。
?6. shift()和unshift(),shift()将删除数组中的第一个项,将其作为函数值返回,unshift()把一个项放在数组的第一个位置,余下的项向下移动。
?7. reverse()方法 颠倒数组项的顺序。
?8. sort()方法 按升序为数组项排序。
?9. splice()方法 把数据项插入数组的中部。
??此方法用途:
??1) 删除——只需要声明两个参数,就可以从数组中删除任意多个项,这两个参数是要删除的第一项的位置和要删除的项的个数
??2) 替换而不删除——声明三个参数,可以把数据项插入指定的位置,这三个参数是起始位置、0(要删除数组项的个数)、和要插入的项
??3) 替换并删除——声明三个参数,这三个参数是起始位置、要删除的数组项的个数、和要插入的项
二、Date类
内置对象
一、Global
?encodeURI()、encodeURIComponent()、decodeURI()、decodeURICompontnt()、isNaN()、isFinite()、parseInt()、parseFloat()、eval_r()都是Global对象的方法。
?Global对象不只有方法,它还有属性,特殊值undeifined、NaN、Infinity都是Global对象的属性,此外所有本地对象的构造函数也都是Global对象的属性
二、Math
?1. max()、min()用于判断一组数中的最大值和最小值,这两个方法都可接受任