JS权威指南读书笔记----20180731

1.字符集

JavaScript程序时用Unicode字符集编写的。

Unicode是ASCII和Latin-1的超集。

2.区分大小写

JS区分大小写,在HTML中这些标签和属性名可以使用大写也可以是小写,而在JS中则必须是小写。

3.空格、换行符和格式控制符

多数情况下,JS会忽略换行符。

可识别字符:

水平制表符(\u0009)

垂直制表符(\u000B)

换页符(\u000C)

不中断空白符(\u00A0)

字节序标记(\uFEFF)

如下字符识别成结束符:

换行符、回车符、行分隔符、段分隔符8

4.直接量

所谓直接量,就是程序中直接使用的数据值,下面列出的都是直接量:

数字、小数、字符串文本(双引号内)、字符串(单引号内)、布尔值、正则表达式直接量、null

5.标识符和保留字

JS标识符必须以字符、下划线或美元符开始。

后续的是可以是字符、数字、下划线、美元符。

保留字:

JS中把一些标识符用作保留字。以你,就不能再在程序中把这些关键字用作标识符。

6.

如果函数用来初始化(使用new运算符)一个新建的对象,我们称之为构造函数(constructor)。

每个构造函数定义了一类(class)对象----由构造函数初始化的对象组成的集合。

类可以看做是对象类型的子类型。

除了数组(Array)类和函数(Function)类之外,JS语言核心定义了其他三种有用的类:

Date日期类定义了代表日期的对象

RegExp正则类定义了表示正则表达式的对象

Error类定义了那些表示JS程序中运行时错误和语法错误的对象。

 

 

JS是一种面向对象的语言,不严格的讲,这一位置我们不用全局的定义函数去操作不同类型的值。数据类型本身可以定义方法(method)来使用值。

例如,要对数组a中的元素进行排序,不必要将a传入sort()函数,而是调用a的一个方法sort():

a.sort()

Js类型可分为原始类型和对象类型,也可以分为拥有方法的类型和不能拥有方法的类型,同样可以分为可变(mutable)和不可变(immtable)类型。

可变类型的值是可以修改的。

对象和数组属于可变类型:JS程序可以更改对象属性值和数组元素的值。

数字、布尔值、null和undefined属于不可变类型

 

 

7.

JS中的算术运算在溢出、下溢或被零整除时不会报错。

超出上限则作为一个特殊的无穷大值

下溢是当运算结果无限接于零比JS所能表示的最小值还小的时候发生的一种形式。这种情况下会返回0.

被零整除并不报错,只是简单的返回无穷大或负无穷大。

JS预定义了全局变量Infinity和NaN,用来表示无穷大和非数字值

负零值同样有些特殊,它和正零值是相等的。

这意味着这两个值几乎一模一样,除了作为除数之外。

var zero = 0 ;

var negz = - 0;

zero === negz ; ==>true 正零值和负零值相等

1/zero === 1/negz; ==>false 正无穷大和负无穷大不相等+

你可能感兴趣的:(JavaScript)