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

    记录一下阅读蝴蝶书的笔记,本篇为书中最后一部分:方法、代码风格、优美的特性、毒瘤、糟粕等。

    方法

    这一章主要介绍了一些方法集。这里写几个我不太熟悉的方法和要点吧。

    • array.join()

      对于IE6/7,使用array.join()连接大量字符串的效率确实优于使用+元素运算符。但是目前主流的浏览器,包括IE8以后的版本,都对+元素运算符连接字符串做了特别优化,性能已经显著高于array.join()

    • number.toExponential(fractionDigits)

      把这个number转换成一个指数形式的字符串。

    • number.toFixed(fractionDigits)

      将这个number转换成一个十进制形式的字符串。

    毒瘤

    • 注意全局变量的引入。

    • JavaScript 中 Unicode 是16位的。包含65536个字符(基本多文种平面 Basic Multilingual Plane)。剩下的百万字符中的每一个都可以用一对字符来表示。Unicode 把一对字符视为一个单一的字符,而 JavaScript 认为一对字符是两个不同的字符。

    • 检测null的方式。

    console.log(typeof null) //object
    
    myValue === null大专栏  JavaScript 语言精粹笔记3span> //检测 null
    
    if (myValue && typeof myValue === 'object') {
        // myValue 是一个对象或数组!
    }
    
    • parseInt 把字符串转化为整数的函数。它遇到非数字时会停止解析,所以parseInt('16')parseInt('16ton')产生相同的结果。

      如果该字符串第一个字符是0,那么该字符串会基于八进制而不是十进制来求职。在八进制中,8和9不是数字,所以parseInt('08')parseInt('09')都产生0作为结果。但parseInt()可以接受基数,因此parseInt('08',10)结果为8,建议总是加上这个基数参数。

    • JavaScript 的对象永远不会是真的空对象,因为它们可以送原型链中取得成员属性。

    糟粕

    • 避免使用with语句。

    • 避免使用eval语句。

    • continue可能会降低运算性能。

    • 位运算符在 JavaScript 会非常慢。

      Java 里,位运算符处理的是整数。JavaScript 没有整数类型,它只有双精度的浮点数,因此,位运算符把它们的数字运算数先转换为整数,执行运算,在转换回去。JavaScript 的执行环境一般接触不到硬件,所以非常慢。

    • 避免使用包装对象。new Objectnew Array等。

    • 避免使用void

    本系列结束。

  • 相关阅读:
    poj_2352树状数组
    poj_2187凸包,暴力解法
    zoj_3735,dp,长沙站j题
    hdu_1698线段树成段更新
    poj_2828线段树,逆序插入
    poj_3371
    poj_3071概率dp
    hdu_2191多重背包
    poj_1185状压dp
    css-margin
  • 原文地址:https://www.cnblogs.com/lijianming180/p/12284175.html
Copyright © 2011-2022 走看看