内容归纳总结自《JavaScript高级程序设计》
1. JS的组成
1.ECMAScript 核心 解释器
2.DOM 给JS操作HTML的能力
3.BOM window 浏览器
2. 变量的数据类型 ATTENTION_LIST
String Number Boolean Null Undefined Object
- 函数是一种对象而不是数据类型
var a = function(){
//
}
alert(typeof(a));
->function
因为函数有一些特殊的属性,所以用typeof来区分函数和其他对象是有必要的
- NULL表示一个空对象指针
var a = null;
alert(typeof(a));
->object
- undefined是派生自NULL的值
alert(null==undefined);
->true
无论在什么情况下 都没有必要把一个变量的值显式地设置为 undefined,可是同样的规则对 null 却不适用。换句话说,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存 null 值。这样做不仅可以 体现 null 作为空对象指针的惯例,而且也有助于进一步区分 null 和 undefined。
- 不要测定某个特定的浮点数值
0.1+0.2!=0.3
-
NAN
Not a Number- 任何数除以0都会返回NaN
- 涉及NaN的计算都会返回NaN
- (NaN==NaN)->falese
- isNaN()支队不能转换的值返回true
isNaN('10');//true 可以被转换成10 isNaN(true);//true 可以被转换成1
-
转换成数字
- 强制转换(显示转换)
a.parseInt()
b.number()
和parseInt的区别:
第一个字符不是数字或者符号就会返回NaN
alert(parseInt(''));//NaN alert(Number(''));//0
c.parseFloat()
不确定是整数还是小数的时候可以用- 隐式转换
- 强制转换(显示转换)
var a = 5;
var b = 5;
alert(a==b);//先转换类型再比较,比较后ab的数据原有类型不改变
alert(a===b);//直接比较
- 转换成字符串
a. 利用toString()函数
var a = 10;
var ageAsString = a.toString();//'10'
var ageAsString2 = a.toString(2);//'1010' 可以传递一个参数:输出数值的原有数制
b. 利用String()函数
alert(typeof(String(true)));//'true' string类型
alert(typeof(String(undefined)));//'undefined'
-
Object
通过执行new操作符创建新对象
var o = new Object();
网友评论