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)的行为完全不同。
    字面量更清晰,更优雅,更不易出错,更规范,更一致。

    提示

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

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

  • 相关阅读:
    IOS-多线程技术
    设计模式-抽象工厂设计模式
    IOS-内存管理
    IOS-MVC的使用
    POJ2411 Mondriaan's Dream (广场铺砖问题 状压dp)
    NOIp2006T2 金明的预算方案
    POJ1179 Polygon(区间DP)
    NOIp2006T1能量项链
    美梦1(JSOI2014SC)
    TJOI2013(BZOJ3173)最长上升子序列
  • 原文地址:https://www.cnblogs.com/wengxuesong/p/5626367.html
Copyright © 2011-2022 走看看