[問題] 這段程式碼的意思是?

作者: 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