代码之家  ›  专栏  ›  技术社区  ›  Matthew

为什么我看到用string.split()创建的javascript数组?

  •  5
  • Matthew  · 技术社区  · 14 年前

    我在网上看到这样的代码

    var days= "Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" ");
    

    为什么要这样做而不是

    var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
    

    我认为懒惰或无知与此无关。这超出了jquery 1.4.2

    props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" ")
    

    他们到处做。

    4 回复  |  直到 13 年前
        1
  •  11
  •   Alsciende    13 年前

    我认为这是因为您不必引用和分隔数组的每个字符串。同样,在Perl中,许多人使用 qw(a b c d e f g) 而不是 ('a', 'b', 'c', 'd', 'e', 'f', 'g') . 所以好处是双重的:

    1. 它的编写和修改速度更快、更容易(显然可以被取消)。
    2. 它的位更小,所以您可以节省一些带宽。

    见钻头尺寸:

    var days= "Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" ");
    // 81 characters
    

    VS

    var days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"];
    // 91 characters
    
        2
  •  0
  •   Thevs    14 年前

    如果初始字符串在文本中有引号或双引号,也可能有意义。

        3
  •  0
  •   Ashit Vora    14 年前

    “81个字符和91个字符”<<观察得很好,但它再次增加了将字符串转换为数组的处理时间,如果有时需要添加包含2个字的内容,该怎么办?

    可能他们喜欢这种编码方式。

    IDK

        4
  •  0
  •   kennebec    14 年前

    您可以有20种语言的20个星期名称字符串,并使用单个拆分返回用户的正确数组。