var args={};
var getArgs = function(){
var sc=document.getElementsByTagName('script');
var paramsArr=sc[sc.length-1].src.split('?')[1].split('&');
var argsStr=[],param,t,name,value;
for(var i=0,len=paramsArr.length;i<len;i++){
param=paramsArr[i].split('=');
name=param[0],value=param[1];
if(typeof args[name]=="undefined"){ //参数尚不存在
args[name]=value;
}else if(typeof args[name]=="string"){ //参数已经存在则保存为数组
args[name]=[args[name]]
args[name].push(value);
}else{ //已经是数组的
args[name].push(value);
}
}
/*在实际应用中下面的showArg 和args.toString可以删掉,这里只是为了测试函数getArgs返回的内容*/
var showArg=function(x){ //转换不同数据的显示方式
if(typeof(x)=="string"&&!/\d+/.test(x)) return "'"+x+"'"; //字符串
if(x instanceof Array) return "["+x+"]" //数组
return x; //数字
}
//组装成json格式
args.toString=function(){
for(var i in args) argsStr.push(i+':'+showArg(args[i]));
return '{'+argsStr.join(',')+'}';
}
return function(){return args;} //以json格式返回获取的所有参数
}
args = getArgs();
// 获取参数
var parentEl = isUndefined(args["parentEl"]);
var _defaultUnitId = isUndefined(args["defaultUnitId"]);
var _isTop = isUndefined(args["isTop"]);
var _bizTypeKey = isUndefined(args["bizTypeKey"]);
var _actionBtnId = isUndefined(args["actionBtnId"]);
var _chooseRoot = isUndefined(args["chooseRoot"]);
var _bizUnitId = isUndefined(args["bizUnitId"]);
var _bizUnitTitle = isUndefined(args["bizUnitTitle"]);
js模拟参数传递
最新推荐文章于 2019-12-20 17:02:02 发布