JS的组成和数据类型)

153 阅读2分钟

内容归纳总结自《JavaScript高级程序设计》

一、JS的组成

1.ECMAScript 核心 解释器

2.DOM 给JS操作HTML的能力

3.BOM window 浏览器

二、变量的数据类型 ATTENTION_LIST

String Number Boolean Null Undefined Object

1、 函数是一种对象而不是数据类型

var a = function(){
		//
}
alert(typeof(a));
->function

因为函数有一些特殊的属性,所以用typeof来区分函数和其他对象是有必要的

2、 NULL表示一个空对象指针

var a = null;
alert(typeof(a));
->object

3、 undefined是派生自NULL的值

alert(null==undefined);
->true

无论在什么情况下 都没有必要把一个变量的值显式地设置为 undefined,可是同样的规则对 null 却不适用。换句话说,只要意在保存对象的变量还没有真正保存对象,就应该明确地让该变量保存 null 值。这样做不仅可以 体现 null 作为空对象指针的惯例,而且也有助于进一步区分 null 和 undefined。

4、 不要测定某个特定的浮点数值

0.1+0.2!=0.3

5、 NAN

Not a Number

1. 任何数除以0都会返回NaN
2. 涉及NaN的计算都会返回NaN
3.NaN==NaN->falese
4. isNaN()支队不能转换的值返回true
  isNaN('10');//true 可以被转换成10
  isNaN(true);//true 可以被转换成1

6、 转换成数字

①. 强制转换(显示转换)
 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);//直接比较

7、 转换成字符串

①. 利用toString()函数
var a = 10;
var ageAsString = a.toString();//'10'
var ageAsString2 = a.toString(2);//'1010' 可以传递一个参数:输出数值的原有数制 
②. 利用String()函数
alert(typeof(String(true)));//'true' string类型
alert(typeof(String(undefined)));//'undefined'

8、 Object

通过执行new操作符创建新对象

var o = new Object();