《JavaScript语言精粹》学习笔记
目录:
第一章 精华第二章 语法第三章 对象第四章 函数第五章 继承第六章 数组第七章 正则表达式第八章 方法第九章 代码风格
第一章:精华
····我不过略有一些讨人喜欢的地方而已,怎么会有什么迷人的魔力? ——威廉 · 莎士比亚
第二章:语法
1.注释:
a).注释一定要精确的描述代码,没有用的注释比没有注释更糟糕。
b).javascript提供两种注释方式 /* */ 与 // ,分别为多行与单行,但多行注释有时是不安全的,比如用某些正则表达式时:/* var a = /a*/.match(s);
*/所以建议避免使用 /* */ 注释,用 // 代替。
2. 数字:
a).javascript只有一个数字类型,在内部表示为64位的浮点数; NaN是一个数值,但它不等于任何值,包括它自己,可用 isNaN(number) 检测NaN;
b).数字拥有Math()方法,如 Math.floor(number)可以把一个数值转为整数。
3.字符串:
a).javascript没有字符类型,要表示它只需创建一个字符的字符串即可。
b). 字符串都有一个length属性。例如:“text”.length 等于4
c). \(反斜线)是转义字符。可在那些正常情况下不被允许的字符插入的字符串中。 \u 约定用来指定数字字符编码: “A” === “\u0041”
d).字符串是不可变的,一旦字符串被创立,就永远无法改变它。当然你可以运用 + 号运算符链接不同的字符串,但那是被创建新的字符串了,不是修改。
e).字符串也有一些方法,如:“test”.toUpperCase() === "TEST".(详细)
4.语句:
a). 语句通常从上至下的被执行,但Javascript可通过条件语句(if、switch)、循环语句(while、for、do)、强制挑战语句(break、return、throw)和函数调用来改变执行顺序。
b).在Javascript中,花括号里面的代码块语句,不会创建新的作用域,因此变量应该被定义在函数的头部,而不是代码块中。
c).if语句:
if(ture){ //假值:false/null/undefind/' '/0/NaN。 真值:其它值都是真,字符串“false”也算 //真值时执行这里面的代码 }else{ //假值时执行这里面的代码 }
d).switch语句:
switch(test){ case 1: //当test等于1时,执行此代码 break: case “A”: //当test等于"A"时,执行此代码 break: default: //没有任何匹配的值时,执行此代码 break: }
e).for语句(两种情况):
for(var i = 0; i < 10; i++){ //此语句执行10遍 } for(myvar in obj){ //obj是一组对象,myvar是对象的属性 if(obj.hasOwnProperty(myvar)) { //该方法检查属性是否存在 } }
f).while与do while语句:
while(条件){ //需要执行的代码 } do{ //需要执行的代码,条件前执行一次 }while(条件)
f).其他语句
try{ //执行代码 throw "error"; //抛出自定义异常 return; //返回重新执行 }catch(error){ //处理错误 break; //强制退出 }