首页 > 代码库 > 我啃犀牛书的日子(一)

我啃犀牛书的日子(一)

一、词法结构

Javascript是用Unicode字符集编写的

1.区分大小写
  关键字的大小写不能改变
  同一个词各个字母大小写不同,那就是不同的变量:Hello hello hellO HeLLo是4个不同变量

 

2.空格、换行符、格式控制符

  JS会忽略程序中标识之间的空格;忽略换行。

 

普通空格符\u0020
水平制表符\u0009
垂直制表符\u000B
换页符 \u000C
不中断空白\u00A0
字节序标记\uFEFF

 

将以下字符识别为行结束:

换行符 \u000A
回车符 \u000D
段分隔符\u2028
行分隔符\u2029

 

3.Unicode转义序列
  使用任意6位ASCII来代表任意16位Unicode内码。格式:\u_ _ _ _ ,由\u为前缀,后接4个十六进制数。
  可用于字符串直接量,正则表达式直接量和标识符(关键字除外)
  在注释中将不会被解析

 

4、注释:2、3不能嵌套
  1.// 单行注释
  2./* 多行注释 */
  3./*
  * 文档注释:用于说明此文档的作用
  */

 

5、直接量(literal):可以在程序中直接使用的数据值
  1.数字,小数 123,1.23
  2.字符串 "hello" , ‘hello‘
  3.布尔值 ture , flase
  4.正则表达式直接量 / script /gi
  5.null
  6.对象 { }
  7.数组 [ ]

 

6、标识符 和 保留字
  标识符:用于命名 变量 和 函数 或者 标记循环中需要跳转的特定位置
  标识符的首字符只能用 1.字母 2._ 下划线 3.$美元符号

  保留字:

 

7、分号
  意味着语句的结束;若不加,程序将在换行处自行添加,若无法解析则不添加,直到能够解析的换行处添加。

 

二、类型、值、变量

  js不区分整型和浮点型,所有数字都是以浮点数表示。可以在程序中直接使用的数字是直接量,另外,像-2这种负值是一元求反运算,不是直接量。

  js能表示的最大值为  ± 1.7976931348623157 × 10308

  js能表示的最小值为  ± 5 x 10-324

 

  1.1 整型直接量:

    a.十进制:  0   3  9999

    b.十六进制: 0xffc  0x556 (以0x为前缀,后面才是数值)

    c.八进制:  0377  0234  (以0为前缀,后面是数值。ECMA标准不支持八进制,所以在严格模式下无法解析) 

  

  1.2 浮点型直接量:

    a.生活中常用   3.14

    b.省略0     .5  =>  0.5

    c.科学计数法  6.02e23  (e23 => 1023

            6.5E-15  (E => 10-15

 

  1.3 算数运算

    a. +  加法

    b. -  减法

    c. *  乘法

    d. /  除法

    e. %  除法取余

    g.内置对象Math的各种方法

    h.数值结果超出js能表示的最大值(上溢),显示Infinity

    i.数值结果小于js能表示的最小值(下溢),显示-Infinity

    j.NaN 是 not a number 的意思。

    k.NaN 和任何值都不相等,包括它本身

注:运算出现上溢、下溢、除以0浏览器不会报错;基于Infinity 和 -Infinity的运算结果还是无穷大值,且保留正负号;做数学逻辑上无法完成的运算都返回NaN。

 

  14 .二进制浮点数和四舍五入错误

    

  1.5 日起和时间

    js内置Date()构造函数,用于创建表示日期和时间的对象。

  

  2.1 文本

    a.string是由16位值组成的不可变的有序序列,一般是Unicode字符集

    b.string.length是“16位值”的个数

    c.字符串是由单引号或双引号括起来的。eg: "hello"

    d.字符串的索引值从0开始,空字符串长度为0

注:字符串中夹杂着需要显示的(而不是程序运行需要)引号时,要转义字符  \  将其转义。

eg:  "we‘re young" ==> "we\‘re young"

  在HTML结构中有时也需要用到引号,应各自使用独立的引号风格。

eg: <button onclick = "alert(‘Thank you‘)"

 

  2.2 转义字符   含义

    \o    NUL字符

    \b    退格符

    \t    水平制表符

    \n    换行符

    \v    垂直制表符

    \f    换页符

    \r    回车符

    \"    双引号

    \‘    撇号或双引号

    \\    反斜线

    \xXX   由两位十六进制数指定的Latin-1字符

    \uXXXX   Unicode字符集

    

我啃犀牛书的日子(一)