javascript权威指南学习笔记
    一.数据类型:
	js中,所有的数字都是浮点型的。
	isNaN()/isFinite()     //检测数据类型
    Infinity               //无穷大
	Number.MAX_VALUE       //可表示的最大数字
	Number.MIN_VALUE       //可表示的最小数字		
	数字转字符串
		n+""
		String(N)
		n.toString()       //可以加参数 2-2进制 8-8进制 16-16进制
		n.toFixed()        //显示小数点后的指定位数
		n.toExponential()  //指数表示
		n.toPrecision()    //指定有意思的位数	
	字符串转数字
		+字符串 
		parseInt(string,16)    //截取整数,支持另一个参数指定解析的数字基数(2-36)
		parseFloat()           //截取整数和浮点数	
	布尔类型转换
		1.布尔转其他
			true-1  true-"true"
			false-0 false-"false"
		2.其他转布尔
			数字  0/NaN-false 其他-true
			字符串  空字符串-false  其他-true
			对象    空值/未定义的值-false  非空对象、数组、函数-true
		3.显示转换
			Boolean(x)/!!x		
	null的转换
		布尔   null-false
		数字   null-0
		字符串 null-"null"		
	undefined的转换
		布尔   undefined-false
		数字   undefined-NaN
		字符串 undefined-"undefined"	
	date类型转换/格式化
		date -- string
		date.toGMTString()
		date.toLocaleString()
	string -- date
		new Date(s)
	string -- string
		var date = new Date(s)
		date.toLocaleString()
	===等同
		数值和string只要值相等就完全相等。
		两个值同为null或undefined就完全相等。
		只要有一个为NaN就不完全相等。
		引用同一个对象、数组或函数就完全相等。	
	==相等
		同类型数据比较,相等就相等。
		不同类型数据比较,先转换成同类型数据再比较。
		null和undefined相等。				
二.变量
	未用var声明的变量会被创建为全局变量。
	js中没有块级作用域,函数中声明的所有变量在函数内都有定义。
	----------------------------------------------
	function test(){
		for(var k=0;k<10;k++){
			alert(k);
		}
		alert(k);             //10
	}
	----------------------------------------------
	js解释器运行时先创建一个全局对象,对象的属性就是js程序的全局变量。
	js函数都运行在自己独有的执行环境。具有自己的调用对象。调用的对象的属性就是该函数的局部变量。		
三.运算符	
	in
		要求左边是字符串或可以被转换成字符串,右边是数组或函数。	
	delete
		var声明的变量不能删除,当delete操作的不是属性、数组元素或变量时返回true
		------------------------------------------
		delete 1;           //true
		delete x;           //true
		------------------------------------------	
	void
		舍弃运算数的值,返回undefined,常用在客户端的javascript:URl中,计算表达式的值,而浏览器不会显示这个值。
		另一个用途是专门生成undefined值。undefined是在javascript1.5中实现,考虑向后兼容,用void 0比undefined更有用。
		<a href="javascript:void window.open();">Open New Window</a>
		a href="javascript:void(0)"	
		如果是个# ,就会出现跳到顶部的情况,:个人收藏的几种方法:
			1:<a href="####"></a>
			2:<a href="javascript:void(0)"></a>
			3:<a href="javascript:void(null)"></a>
			4:<a href="#" onclick="return false"></a>
			5:<span style="cursor:hand"></span>(在FF中不能显示)
			方法2和3有可能导致页面中的GIF动画停止播放,推荐使用方法4	
	,运算符
		先计算左边的参数,再计算右边的参数,然后返回右边参数的值
	undefined不是保留字,为了确保其值不被改变,可以声明一个未赋值的变量
		--------------------------------------------
		var undefined;                //undefined为undefined
		--------------------------------------------
	未声明的变量alert会报error错,typeof会返回undefined
	null与undefined关系
		undefined实际是null派生的,两者相等	
	var t1 = 56;  
	var t2 = 070;  
	var t3 = 0x38;  
	alert(t1==t2); //output:true  
	alert