4.6--4.9

4.6

  NaN和任何值都不相等,包括本身,应该通过(x!==x)来判断。

  对于"===",两个null或undefined不相等。

  对于"==",null == undefined ==> true

  4.6.1

    对象比较闲转换为原始值(toString,valueof),遇到NaN时,<,>,<=,>=都返回false。

4.7

  A&&B,只有A为真,才会去计算B。

  ||也类似。

  var max = a|| b || 1; 从a到b到1,先来为真的赋值给max

  4.7.1

    !!x ==> 返回等价布尔值。

4.8

  全局函数eval可以解释运行由JS源码组成的字符串,并产生一个值。

  4.8.1

    eval()只接受一个参数,若不是字符串,则直接返回该参数。

    eval()调用了调用他的变量作用域,即对外产生影响

      eval("x = 1"); 改变了x

4.9

  typeof(null) == >"object"

  4.9.1

    var a = [1,2,3];

    delete a[2]; ==>true,a[2]被设置为undefined

    2 in a; ==> false

    a.length; ==> 3,即数组长度并未改变

  4.9.2

    void是一元操作符,操作数类型任意,操作数回照常计算,但忽略结果并返回undefined。

    用处:

      void window.open();

时间: 2024-10-18 15:52:26