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

    提示

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

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

  • 相关阅读:
    JS基础_函数的简介
    frp 使用入门
    树莓派开启smb
    python 反射调用
    VIDEOIO ERROR: V4L: can't open camera by index 0 for raspberryPi
    face_recognition 人脸识别报错
    安装FFMpeg CentOS 7
    Centos 7 smb 安装使用
    ImportError: libQtTest.so.4: cannot open shared
    Raspberry Pi 3b+ 配置摄像头
  • 原文地址:https://www.cnblogs.com/wengxuesong/p/5626367.html
Copyright © 2011-2022 走看看