[问题] 这段程式码的意思是?

楼主: Krauss (克萝丝)   2015-07-11 01:39:22
来源:
view-source:http://www.2h.com.tw/event/20150504/index.html
function getParam(p_key){
var url_val = location.href;
var paramIdx = url_val.indexOf('?');
if(paramIdx != -1){
param_val = url_val.substr(paramIdx + 1);
var param_array = param_val.split('&');
for(var i = 0 ; i < param_array.length ; i++){
var subparam = param_array[i].split('=');
if(subparam[0] == p_key){
return subparam[1] ;
}
}
}
return '';
}
想请教这段程式码的意思是什么呢?
我个人的解读:
变量url_val应该是取得目前的连结
至于 paramIdx是指 回报网址中问号?的索引?
假如问号不在 -1的位置的话 
变量param_val就等于网址的 string.substr(start,length)
这边我有点卡关查了一下substr的syntax的括号内 为什么可以是+1
问号如果是负一就给它加一吗@ @
之后就宣告一个阵列,然后那个阵列会把&号拿掉变成区隔的逗号
接下来做个for循环 这边又更不懂了 *__* 只知道这个函式应该跟网址有关系?
还请板上高人指点迷津 感激不尽~ <(__ __)>
作者: eric541 (YcK)   2015-07-11 01:51:00
这是取网址prams的code,他判断网址内有无 ? 有的话就把? 后面的 substr 取出来,然后用 & 当做 token 切成 list如果 key 跟输入的 pkey 一样就取出来回传
作者: vi000246 (Vi)   2015-07-11 13:51:00
负一是判断问号存不存在的意思没理解错的话 举例网址是?a=1 p_key是a 那会回传1
作者: airtsubasa (伪学姊)   2015-07-14 12:01:00
做像php $_GET[]的事

Links booklink

Contact Us: admin [ a t ] ucptt.com