JavaScript中的“[],哈希”语法?

时间:2015-12-04 04:07:13

标签: javascript

我是JavaScript新手。在以下代码段(来自here)中,[], hash语法是什么意思?我搜索了一下但没有运气。

function getUrlVars()
{
    var vars = [], hash;// <============= HERE
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

3 个答案:

答案 0 :(得分:4)

这只是多个变量的正常声明

var vars = [], hash;

相同
var vars = [];
var hash;

MDN

<强>语法:

var varname1 [= value1 [, varname2 [, varname3 ... [, varnameN]]]];

答案 1 :(得分:1)

当您应该查看整行时,您正在查看[], hash,这是:

var vars = [], hash;

完整地,您有一个变量声明,它以逗号分隔的变量名列表。这些名称为varshash,其格式更好:

var vars,
    hash;

在该声明中,您有vars变量的变量赋值。

[]是JavaScript中的数组文字。所以最后你声明了vars,用一个新的空数组的值初始化它,并声明hash而没有初始化它(值将是undefined)。

答案 2 :(得分:0)

该代码只是结合了这两个概念,使新手无法理解代码:

1。 声明数组有两种方法:

// 1 (old school)
var myArray = new Array();

// 2 (the easiest and most common)
var myArray = [];

2。 您可以使用逗号声明多个变量(有或没有设置它们的值):

// Declaring 3 variables
var a, b, c;
// or
var a=1, b=2, c=3;