【问题标题】:Difference in Javascript arrays? [duplicate]Javascript数组的区别? [复制]
【发布时间】:2011-10-22 17:59:31
【问题描述】:

可能重复:
JavaScript arrays braces vs brackets

我有一个简单的问题,我无法通过 Google 找到答案。 有什么区别

var foo = { };

var bar = [ ];

举个例子会有所帮助。

【问题讨论】:

    标签: javascript arrays


    【解决方案1】:

    foo = {} 不是一个数组,而是一个对象(使用对象字面量创建,{})。

    bar = []是一个数组,继承了Array构造函数的各种方法。数组也有各种属性,比如.length

    编辑 (关于评论)
    可以通过foo.afoo["a"] 访问对象的a 属性。 应该使用for( .. in .. ) 循环来循环遍历对象的属性。

    var foo = {"a":true, "b":false};
    for(var prop_name in foo){
        alert(prop_name + " - " + foo[prop_name]);
    }
    

    此代码将显示两条警报消息:

    a - true
    b - false
    

    【讨论】:

    • 但我见过这样使用对象:foo = {"a":true, "b":false};。那么是否可以看到“a”是否在“foo”中?
    • @GregaMenih:当然:'a' in foo.
    • 需要注意的是它仍然是一个对象,而不是一个数组。
    • 帮助很大,请注意。现在只有一个问题:要查看 'a' 是否在 foo 中,我会做"a" in foo,那么我会做什么来查看 'a' 是否不在 foo 中?
    • @GregaMenih 使用!(逻辑非,否定):!("a" in foo)。另见:developer.mozilla.org/en/JavaScript/…
    猜你喜欢
    • 2020-04-06
    • 2019-11-17
    • 2020-07-08
    • 2011-03-30
    • 2019-01-17
    • 2018-10-23
    • 2023-04-05
    • 2015-06-08
    • 2018-05-14
    相关资源
    最近更新 更多