zoukankan      html  css  js  c++  java
  • [Effective JavaScript 笔记]第52条:数组字面量优于数组构造函数

    js的优雅很大程序要归功于程序中常见的构造块(Object,Function及Array)的简明的字面量语法。字面量是一种表示数组的优雅方法。

    var a=[1,2,3,5,7,8];
    

    也可以使用构造函数来替代

    var a=new Array(1,2,3,5,7,8);
    

    由于Array构造函数存在一些微妙的问题。当你使用时,确保别人没有重新包装过Array变量。

    function f(Array){
        return new Array(1,2,3,4,5);
    }
    f(String);//String {0: "1", length: 1, [[PrimitiveValue]]: "1"}

    还必须确保没有修改过全局的Array变量

    Array=String;
    new Array(1,2,3,4,5);//String {0: "1", length: 1, [[PrimitiveValue]]: "1"}

    你还得担心一种特殊的情况。如果使用单个数字参数来调用Array构造函数,效果完全不同。它试图创建一个长度为给定参数的空数组。这意味着['hello']和new Array('hello'),但[17]和new Array(17)的行为完全不同。
    字面量更清晰,更优雅,更不易出错,更规范,更一致。

    提示

    • 如果数组构造函数的第一个参数是数字则数组的构造函数行为是不同的

    • 使用数组字面量替代数组构造函数

  • 相关阅读:
    noip2010 乌龟棋
    noip2010 机器翻译
    noip2009 靶形数独
    noip2009 最优贸易
    noip2009 Hankson的趣味题
    noip2009 潜伏者
    noi2010 能量采集
    八大排序算法(六) 快速排序
    八大排序算法(六) 快速排序
    Lesson 12 Nehe
  • 原文地址:https://www.cnblogs.com/wengxuesong/p/5626367.html
Copyright © 2011-2022 走看看