作者: 程序猿黑仔华
var id = getUrlParam('id');
function getUrlParam(param) {
var params = Ext.urlDecode(location.search.substring(1));
return param ? params[param] : params;
}
1、Ext.urlDecode()把一个请求字符串转换成为JSON对象,for
example:‘id=1&num=4&name=haha&flag=true‘,转化后的对象如下:
data= {
id : "1",
num : "20",
name : "haha",
flag : "true"
}
转换后所有属性的对象都是字符串型,所以相关属性做求和运算, data.numr+10结果就不是30,而是“
2010”
如果是grid分页,链接会带有start & limit参数,如果动用了其中的参数,一定要做类型转换;
2、window.location.search.substring(1);//获得了当前链接的中?号后的参数
location.search的值就是 "?i=1 "
substr(1) 就是从索引1开始截取
所以以这个页面为例的话location.search.substring(1)的值就是 "i=1 "
3、逻辑运算中,判断为 false 的数据有:false、null、undefined、空字符串、0、NaN,其余数据都
是true,任何对象型数据都是true,所以return param ? params[param] : params; 传入函数的参数是
param,param的值是字符串“id”,因为param不是空字符,所以判断为true,所以就会返回params
[param],即对象名为id的属性值;如果传入函数的参数是空的,即param的值是空字符串,判断为false
,就会返回params,params是url链接的所有参数值的json格式