【发布时间】:2016-06-15 18:32:25
【问题描述】:
所以我在网上找到了这个脚本,除了两部分我都明白了:
1) var first = getUrlVars()["id"]; var second = getUrlVars()["page"];
我从未见过后面有括号的函数,它是什么意思/做什么?
2) 函数(m,key,value)
这些参数是从哪里来的(m, key, value)?
window.location 将是:http://papermashup.com/index.php?id=123&page=home
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
var first = getUrlVars()["id"];
var second = getUrlVars()["page"];
alert(first);
alert(second);
【问题讨论】:
-
getUrlVars() 返回一个数组或对象,[..] 表示对返回值的数组元素或属性的属性访问。
-
1) 函数返回一个对象
{id:1,page:2}并且getUrlVars()["id"]返回1(在本例中)。 2)阅读developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…,尤其是“将函数指定为参数”。非常有趣。
标签: javascript function parameters callback