JS杂记

作者: 彼得朱 | 来源:发表于2019-07-01 16:06 被阅读0次

    1、Undefined 与 Null 的区别

    Undefined 与 null 的值相等,但类型不相等。在js中,undefined表示没有值的变量。null是“nothing”,它被看做不存在的事物,但它是一个空对象

    2、不要把字符串创建为对象

    字符串可以是对象。通常,js字符串是原始值,通过字面方式创建,但是也可以通过new定义为对象,但是不要把字符串创建为对象。它会拖慢执行速度。new关键字使代码复杂化,也可能产生一些意想不到的结果。

    相等==运算符需要值相等

    === 运算符需要类型和值同时相等

    甚至更糟,对象无法比较。

    var x = new String("Bill"); var y = new String("Bill");// (x == y) 为 false,因为 x 和 y 是不同的对象

    var x = new String("Bill"); var y = new String("Bill");// (x === y) 为 false,因为 x 和 y 是不同的对象

    3、查找/检索字符串中的字符串

    1)查找

    indexOf() 方法返回字符串中指定文本首次出现的索引(位置):

    lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:

    如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1

    2)检索

    search() 方法搜索特定值的字符串,并返回匹配的位置。

    //eg:举例

    var str = "The full name of China is the People's Republic of China.";

    var pos = str.search("locate");

    3)两种方法,indexOf() 与 search(),是相等的。但是也有区别。

    区别在于:

    search() 方法无法设置第二个开始位置参数。

    indexOf() 方法无法设置更强大的搜索值(正则表达式)。

    4、提取部分字符串

    有三种提取部分字符串的方法

    1)slice(startend)

    2)substring(startend)

    3)substr(startlength)

    注意:slice() 可以接受负的索引,substring不可以接受负的索引。substr第二个参数是长度,它也可以接受负的索引。

    5、替换字符串内容

    replace() 只替换首个匹配,对大小写敏感。若让它不敏感,要使用/替换之前的/i

    str = "Please visit Microsoft!";

    var n = str.replace(/MICROSOFT/i, "W3School");

    替换所有的:用/....../g

    str = "Please visit Microsoft and Microsoft!";

    var n = str.replace(/Microsoft/g, "W3School");

    6、Javascript数值始终是64位浮点数

    7、NaN

    NaN属于js保留词,指示某个数不是合法数。

    注意:数字字符串做算数运算,得到的结果是一个数值或字符串,不会是NaN。

    判断是否为NaN有个方法:isNaN()

    typeof  NaN 返回:number

    8、infinity

    infinity(或-Infinity)是js在计算数时可能超过最大可能数范围时返回的值。typeof(infinity)

    infinity极大值,-infinity极小值

    相关文章

      网友评论

          本文标题:JS杂记

          本文链接:https://www.haomeiwen.com/subject/apntfctx.html