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.不可变的原始值:
function equalArrays(a,b){
if(a.length!=b.length) return false;
for(var i=0;i<a.length;i++)
if(a[i]!==b[i]) return false;
return true;
}
判断数组是否相等
8.类型转换:转换和相等性,主要是转化为数字进行比较等操作,若无意义则转换为NaN;显示类型转换类似于C与越南等Number(“3”);toString()方法除了null和undefined会抛出异常外,其他不会。
9.变量声明:
10.变量作用域:
function test(o){
var i=0;
if(typeof o=="object"){
var j=0;
for(var k=0;k<10;k++){
console.log(k);//0~9
}
console.log(k);//
}
console.log(j);//undefined
}
作用域