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

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