javaScript权威指南学习笔记(一)

全书主要分为两部分:第一部分:JavaScript语言核心

                                     第二部分:客户端的JavaScript

 

第二章 词法结构
1、javascript使用Unicode字符集,Unicode是使用两个字节来表示一个字符。

2、大小写敏感。

3、JS会忽略程序中记号之间的空格、制表符、换行符,除非它们是字符串或正则表达式直接量的一部分。

4、单行注释//,多行注释/*......*/,注释不能嵌套。

5、JavaScript可以省略分号,但也有例外的情况,所以还是要规范书写。

a=3    //分号可以省略,js会自动补上分号
b=4;

var y=x+f    //分号不能省略,省掉后,js会将f和(a+b)合并,最后理解为var y=x+f(a+b).toString();
(a+b).toString();

return  
true; //js会理解为return;true; 所以应该写在一行,return true;

 


第三章 数据类型和值
1、
五种基本类型:数字、文本字符串、布尔值、null(空)、undefined(未定义)。
三种引用类型:数组、函数、对象。对象分为:普通对象、专用对象(例如Date、Error、RegExp)

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

  溢出时结果为无穷大,使用Infinity表示。

  下溢会返回0,当一个负数发生下溢时,会返回“负零”。

  被0整除时会返回无穷大或负无穷大,但0/0时会返回NaN(not-a-number)。

NaN:和任何值都不相等,所以不能使用x==NaN来判断变量x是否是NaN。应当使用x!=x来判断。只有当x为NaN时,该表达式为true。

3、字符串可以使用\拆分为多行。和java类似,JavaScript中的字符串也是固定不变的,对字符串进行修改会返回一个新的字符串。

4、null和undefined

 console.log(null==undefined)//true
 console.log(null===undefined)//false

    null:      表示没有对象,此处不应该有值。从内存层面来看就是栈中的变量没有指向堆中的对象。一个对象通常是被人为的置为null。

           typeOf(null)得到object。

           Number(null)=0。

      null是一个object类型的对象。

    undefined:表示有对象,应该有值,但是还未被定义。通常表示一个对象的原始状态。

      undefined是一个全局变量。

      Number(undefined)=NaN。

           几种返回undefined的情况:

        (1)变量被声明了,但是还未被赋值

        (2)调用函数时,应该提供的参数没有提供。function f(x){...}    f();

        (3)访问对象不存在的属性。

        (4)函数没有返回值时

      

posted @ 2019-06-04 18:47  朝朝暮暮dx  阅读(107)  评论(0编辑  收藏  举报