JS高级程序设计读书笔记——第3章

来源:互联网 发布:大众软件电子版下载 编辑:程序博客网 时间:2024/06/12 23:05

一、数据类型

谨记两大类6小类:

 第一类基本数据类型(简单数据类型):Undefined、Null、Number、String、Boolean;

  第二类复杂数据类型(引用数据类型):Object;(个人理解,它的值是一个内存地址,例如:“0x00000000 , 但是又因为指向这个地址,所以可以引用这个地址的存储的数据)


所有的类型都可以用typeof操作符来操作,需要注意的是typeof null = Object, 

typeof还有一个"function"值,所以并不是和数量类型一一对应的;


1、Undefined类型

只用记住:声明了但是未赋值的变量的变量值是undefined,未声明的变量的值也是undefined,但是前者不会报错,后者会报错!

2、Null类型

如果定义的变量在将来用于保存对象,最好在初始化时用null来占位;
alert(null == undefined) //true
alert(null === undefined) //false

3、Boolean类型

记住其他类型的值用Boolean()方法转换为Boolean类型后的值是true还是false就可以了 ,特别注意的是0和NaN都是false;

4、Number类型

记住4个方法,Number()、parseInt()、parseFloat()、isNaN();以及IEEE754数值浮点的通病,某些浮点数不能很精确,例如 0.1+0.2 != 0.3

需要特别注意的是:

Number("123abc")    // NaN

parseInt("123abc")    // 123


5、String类型

(1)注意字符字面量: 

\xnn的含义是 以十六进制代码nn表示的一个字符串;

\unnnn的含义是以十六进制代码nnnn表示的一个Unicode字符

后续ES6对这部分内容进行深入;

(2)null和undefined没有toString()方法,但是有string()方法;


6、Object类型

该类型本章没有深入讲解,只是给出了其创建的实例保存的一些方法和属性,具体如下:

(1)construction

(2)hasOwnProperty(propertyName)

(3)isPrototypeOf(object)

(4)propertyIsEnumerable(propertyName)

(5)toLocaleString()

(6)toString()

(7)valueOf()

更多详细信息后续会结合第五章进行扩展

二、语句

语句很多,有很多常用的语句在此就不一一赘述,只是提醒一下label和with语句

1、label语句

加标签的语句一般要和for循环语句配合使用,并且和break或者continue结合,并且在ES5中要注意没有块级作用域这个情况

var num = 0;outmost:for(var i=0; i<10; i++){    for(var j=0; j<10; j++){         if(i == 5&& j==5){             break outmost;         }         num++;    }}alert(num);

注意break outmost和break的区别;


2、with语句

with语句的作用是将代码的作用域设置到一个特定的对象object中来,例如

with(object){},括号里面的所有语句都要在object的环境下执行

阅读全文
1 0