3.3--3.7

3.3

  任意JS的值都可以转化为布尔值。

  下面这些会转化为false:

  undefined  null  0  -0  NaN  ""(空字符串)

  其他所有值和对象,包括数组都转为true。

3.4

  null是JS的关键字。

  undefined是变量的一种取值,不是关键字,表明未初始化,是预定义的全局变量,值就是“未定义”。

  null == undefined ==> true

  null === undefined ==> false

  typeof(undefined) ==> undefined

  逻辑运算符长度为2(==和!=),只判断外在值。

  严格判断(===),需要类型和值都一样。

  null和undefined不包括任何属性和方法。

3.5

  当JS解释器启东时,它将创建一个新的全局对象,并给它一组定义的初始属性:

    全局属性,全局函数,构造函数,全局对象

  在代码的最顶级,可用JS关键字this引用全局对象。

  如:

    var global = this;

  在客户端JS中,window对象充当了全局对象。

  声明一个全局变量,这个变量就称为全局对象的一个属性。

3.6

  引用字符串s的属性,JS通过调用new String(s)的方式把它转换为对象,同理:

    数字 -- Number()  布尔值 -- Boolean()

    null和undefined没有包装对象

  转换为对象在引用结束后,即销毁。

  如:

    var s = "test";

    s.len ==> 4

    var t = s.len;

    t ==> undefined

3.7

  字符串中的方法返回一个新字符串,原串不变。

  对象的比较是引用的比较。

原文地址:https://www.cnblogs.com/zawjdbb/p/6210242.html