zoukankan      html  css  js  c++  java
  • 《JavaScript语言精粹》笔记

    0、JavaScript的简单数据类型包括数字、字符创、布尔值(true/false)、null和undefined值,其它值都是对象。

    1、JavaScript只有一个数字类型,它在内部被表示为64位的浮点数。没有分离出整数,所以1和1.0的值相同。

    2、NaN是一个数值,表示一个不能产生正常结果的运算结果。NaN不等于任何值,包括它本身。可以用函数isNaN(number)检测NaN,但是建议用isFinite()来检测某值是否是数字。

    • typeof NaN === ‘number’   //true
    • NaN === NaN //false
    • NaN !== NaN  //true
    • isNaN(0)   isNaN(‘0′)  //false
    • isNaN(NaN)   isNaN(‘oops’)  //true

    3、JavaScript没有字符类型。要表示字符,只需创建仅包含一个字符的字符串即可,一旦被创建,就是不可变的。在被创建的时候,Unicode是一个16位的字符集,所以JavaScript中的所有字符都是16位的。

    4、false、null、undefined、空字符串、0、NaN都被认为是false。除此之外的其它值都是true,包括’false’、new Boolean(false)。

    5、typeof运算符产生的值有:’number’、’string’、’boolean’、’undefined’、’function’、’object’。对于数组或null,typeof均返回’object’。

    6、若第一个运算数是假,&&返回第一个运算数的值,反之,返回第二个;若第一个运算数是真,||返回第一个运算数的值,反之,返回第二个;

    7、arguments拥有一个length属性,但不是数组,它没有任何数组的方法。

    8、用于处理正则的方法:regexp.exec()、regexp.test()、string.match()、string.replace()、string.search()和string.split()【可参见:JavaScript正则表达式】

    9、正则表达式因子:   /  [  ]  (   )  {  }  ?  +  *   |  .  ^  $。若要匹配因子,在字面量中用进行转义,在RegExp对象中则双写。注意前缀不能使字母或数字字面化。

    10、正则表达式分组

    • 捕获型:一个捕获型分组是一个被包围在圆括号中的正则表达式分支。任何匹配这个分组的字符都会被捕获。每个捕获型分组都被指定了一个数字。1是第一个捕获分组,2是第二个,依此类推。
    • 非捕获型:非捕获型分组带 ?: 前缀。它仅做简单的匹配,并不捕获匹配文本,也不干扰捕获型分组的编号
    • 向前正向匹配:带 ?=  前缀,类似于非捕获型分组,但在这个组匹配之后,文本会倒回到它开始的地方,实际上不匹配任何东西。
    • 向前负向匹配:带 ?!  前缀 ,类似于向前正向匹配,但是只有它匹配失败时它才继续向前进行匹配

    11、关于 == 的有趣例子

    • ‘ ‘ == ‘0’           //false
    • 0 == ‘ ‘            //false
    • 0 == ‘0’          //true
    • false == ‘false ‘   //false
    • false == ‘ 0′  // true
    • false == undefined   //false
    • false == null     //false
    • null  ==  undefined  //true
    • ‘    ‘ == 0  //true
  • 相关阅读:
    局部类
    内部类
    程序的异常
    四种修饰符
    接口之间的多继承
    多态
    继承父类并实现多个接口
    接口内容小结
    接口的静态方法和私有方法
    顺序栈与链式栈
  • 原文地址:https://www.cnblogs.com/ranzige/p/4241966.html
Copyright © 2011-2022 走看看