JavaScript读书笔记(一)

ECMAScript数据类型:

5种基本数据类型:Nudefined、Null、Boolean、Number、String

1种复杂数据类型:Object(Object本质上是由一组无序的键值对组成。)


typeof操作符永来检测给定变量的数据类型:

如果这个值未定义 —— “undefined”

如果这个值是布尔值 —— “boolean”

如果这个值是字符串 —— “string”

如果这个值是数值 —— “number”

如果这个值是对象或null —— “object”

如果这个值是函数 ——“function”

示例:

var message = "some thing";

alert(typeof message); // "string"

alert(typeof (message)); // "string"

alert(typeof 95); //"number"

typeof是一个操作符而不是函数。


Undefined类型

Undefined类型只有一个值,即特殊的undefined。

var message;//未初始化

alert(message == undefined);//true

包含undefined值的变量与未定义类型的变量是不一样的,如

var message;//声明后默认值为undefined值

//var age; //未声明

alert(message); //"undefined"

alert(age);//出现异常


对未初始化的变量执行typeof操作符会返回undefined值,而对未声明的变量执行typeof操作符同样也会返回undefined值,

var message;//

//var age;

alert(typeof message);//undefined

alert(typeof age);//undefined


Null类型

NULL类型只有一个值,即null。

typeof操作符检测null值时会返回"object"。

var car = null;

alert(typeof car);//"object"

if(car != null)

{

//对car对象执行相应操作

}

undefined值时派生自null值的

alert(null == undefined);//true


Boolean类型

Boolean类型只有两个值:true和false(区分大小写)。

虽然Boolean类型的字面值只有两个,但ECMAScript中所有类型的值都是与这两个Boolean值等价的值。

var message = "some thing";

var msgToBool = Boolean(message);


各种数据类型对应的转换规则:

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""(空字符串)
Number 任何非零数字值 0和NaN
Object 任何对象 null
Undefined n/a(不适用) undefined

Number类型

在进行算术计算时,所有以八进制和十六进制表示的数值最终都将被转换成十进制数值。

关于浮点值得计算:

var a = 0.1, b = 0.2;

if(a + b == 0.3){

    //永远也不会执行

}

事实上a + b = 0.30000000000000004 。






你可能感兴趣的:(JavaScript)