手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >Js 获取当前函数参数对象的实现代码
Js 获取当前函数参数对象的实现代码
摘要:有时候在封装控件的时候在很多Js函数中需要获取传入的直接参数或者对象参数,那么我们就需要每次都去判断第一个对象,所以为了方便在此封装一个函数...

有时候在封装控件的时候在很多 Js 函数中需要获取传入的直接参数或者对象参数,那么我们就需要每次都去判断第一个对象,所以为了方便在此封装一个函数,来获取当前函数中的参数值:

/*------------------------------------------ * 清除字符串两端空格,包含换行符、制表符 *------------------------------------------*/ String.prototype.Trim = function () { return this.replace(/(^[snt]+|[snt]+$)/g, ""); } /*---------------------------------------- * 获取当前函数的参数对象 *---------------------------------------- * diffCase 是否区分大小写,默认 false *----------------------------------------*/ function GetArgs(diffCase) { //返回参数对象 var result = new Object(); //获取调用函数 var caller = arguments.callee.caller; if (caller == null || caller.arguments.length == 0) return result; //获取函数的参数集合 var matchs = caller.toString().match(/s*function[ws]*(([ws,]*))/); if (matchs == null) return result; var argArray = matchs[1].split(","); //获取参数对象 var params = caller.arguments[0]; var index = typeof (params) == "object" ? 1 : 0; if (index == 1) { for (var p in params) { for (var i = 0; i < argArray.length; i++) { var arg = argArray[i].Trim(); if (diffCase) { if (arg == p) { result[arg] = params[p]; break; } } else { if (arg.toLocaleLowerCase() == p.toLocaleLowerCase()) { result[arg] = params[p]; break; } } } } } //多个参数将第一个后面的参数覆盖对象传入的参数 for (var i = index; i < argArray.length && i < caller.arguments.length; i++) result[argArray[i].Trim()] = caller.arguments[i]; return result; }

调用示例:

//测试函数 function Test(name, age) { //获取参数对象 var args = GetArgs(); alert("姓名:" + args.name + ",年龄:" + args.age); } //调用测试 Test("张三", 25); Test({ name: "李四", age: 30 }); Test({ name: "王五" }, 18);

【Js 获取当前函数参数对象的实现代码】相关文章:

javascript组合使用构造函数模式和原型模式实例

获取阴历(农历)和当前日期的js代码

获取对象

js实现异步循环实现代码

js控制div弹出层实现方法

js获取字符串字节数方法小结

Javascript随机显示图片的源代码

JavaScript对传统文档对象模型的支持

Javascript递归打印Document层次关系实例分析

JavaScript获得url查询参数的方法

精品推荐
分类导航