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