Javascript语言核心(2~12章)
第三章:类型、值、变量
1.数字:
- overflow(Infinity, -Infinity)、underflow(+0,-0)
- 非数字值:它和任何值都不相等,包括自身。if(x!=x) return NAN;==》isNaN()判断是不是NaN或者字符串等
- javascript的精度要注意,即(0.3-0.2)!=(0.2-0.1)
- Date()构造函数:月份从0开始计数,天数从1开始计数,星期天是0;
2.文本:
- 转义字符(牢记斜杠后面几个特殊的值:n,\,r,v,t,f,b,o,",')
- 字符串的方法(length,charAt,substring,slice,indexOf,split,replace,toUpperCase)
- 正则表达式!!!!
3.布尔值:false举例(undefined,null,0,-0,NaN,"")
4.null和undefined:null是非对象,undefined是未定义
5.全局对象:
6.包装对象:
7.不可变的原始值:
1 function equalArrays(a,b){ 2 if(a.length!=b.length) return false; 3 for(var i=0;i<a.length;i++) 4 if(a[i]!==b[i]) return false; 5 return true; 6 }
8.类型转换:转换和相等性,主要是转化为数字进行比较等操作,若无意义则转换为NaN;显示类型转换类似于C与越南等Number(“3”);toString()方法除了null和undefined会抛出异常外,其他不会。
9.变量声明:
10.变量作用域:
1 function test(o){ 2 var i=0; 3 if(typeof o=="object"){ 4 var j=0; 5 for(var k=0;k<10;k++){ 6 console.log(k);//0~9 7 } 8 console.log(k);//10 9 } 10 console.log(j);//undefined 11 }