&引用;[],散列“;JavaScript中的语法?
我是JavaScript新手。在下面的代码段(from)中,&引用;[],散列“;JavaScript中的语法?,javascript,Javascript,我是JavaScript新手。在下面的代码段(from)中,[],hash语法是什么意思?我找了一点,但没有运气 function getUrlVars() { var vars = [], hash;// <============= HERE var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i
[],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;
}
函数getUrlVars()
{
var vars=[],hash;//这只是多个变量的正常声明
var vars = [], hash;
与
var vars = [];
var hash;
语法:
var varname1 [= value1 [, varname2 [, varname3 ... [, varnameN]]]];
这只是多个变量的正常声明
var vars = [], hash;
与
var vars = [];
var hash;
语法:
var varname1 [= value1 [, varname2 [, varname3 ... [, varnameN]]]];
当您应该查看整行时,您正在查看
[],hash
,即:
var vars = [], hash;
整体而言,您有一个变量声明,它采用逗号分隔的变量名称列表。这些名称是vars
和hash
,最好格式化为:
var vars,
hash;
在该声明中,有一个变量赋值给vars
变量
[]
是JavaScript中的数组文字。因此,最后您声明了vars
,用一个新的空数组值初始化了它,并声明了hash
,但没有初始化它(值将是未定义的)。您看到的是[],hash
当您应该查看整行时,即:
var vars = [], hash;
整体而言,您有一个变量声明,它采用逗号分隔的变量名称列表。这些名称是vars
和hash
,最好格式化为:
var vars,
hash;
在该声明中,有一个变量赋值给vars
变量
[]
是JavaScript中的数组文字。因此,最后您声明了vars
,用一个新的空数组值初始化了它,并声明了hash
,但没有初始化它(值将是未定义的
).该代码将这两个概念结合在一起,使新手无法理解该代码:
一,。
声明数组有两种方法:
// 1 (old school)
var myArray = new Array();
// 2 (the easiest and most common)
var myArray = [];
二,。
您可以使用逗号一次性声明多个变量(设置或不设置其值):
// Declaring 3 variables
var a, b, c;
// or
var a=1, b=2, c=3;
该代码将这两个概念结合在一起,使新手无法理解代码:
一,。
声明数组有两种方法:
// 1 (old school)
var myArray = new Array();
// 2 (the easiest and most common)
var myArray = [];
二,。
您可以使用逗号一次性声明多个变量(设置或不设置其值):
// Declaring 3 variables
var a, b, c;
// or
var a=1, b=2, c=3;
var-vars=[]
定义了一个名为vars
的空数组,hash
是一个局部变量,其值为undefined
。这与var-vars=[];
和var hash;
。就代码的其余部分而言,它有点糟糕:两个var
语句,其中一个有多个声明,错误地解析了查询字符串的URL(可能只是location.search
),尝试将数组用作哈希映射而不是对象。请删除此代码并使用库。@ZZZBOV我正在尝试在页面上执行一些常见任务,例如获取查询字符串参数。有什么库可推荐吗?我不太熟悉JavaScript landscope。在NPM land(节点、浏览器化等)中该库对于大多数使用来说都足够可靠,但是它不能处理一些边缘情况,因此它使用UMD。var vars=[]
定义了一个名为vars
的空数组,hash
是一个值为undefined
的局部变量。它与var vars=[];
和var hash;
。就代码的其余部分而言,它有点糟糕:两个var
语句,其中一个有多个声明,错误地解析了查询字符串的URL(可能只是location.search
),尝试将数组用作哈希映射而不是对象。请删除此代码并使用库。@ZZZBOV我正在尝试在页面上执行一些常见任务,例如获取查询字符串参数。有什么库可推荐吗?我不太熟悉JavaScript landscope。在NPM land(节点、浏览器化等)中该库对于大多数使用来说都足够可靠,但是它不能处理一些边缘情况,因此它使用UMD。看起来vars
打算用作dictionary
。但是基于我对JS对象的有限知识,最好不要使用真正的数组。对吗?@smwikipediavars
是一个数组,在JS中是一个数组(嗯,不是所有的)都是一个对象,所以你也可以为数组分配属性。看起来vars
应该用作字典。但是基于我对JS对象的有限知识,最好不要使用真正的数组。对吗?@smwikipediavars
是一个数组,在JS中是所有的(不是所有的)是一个对象,因此您也可以为数组指定属性。