Js 获取当前函数参数对象的实现代码
网络编程 2021-07-04 19:59www.168986.cn编程入门
这篇文章主要介绍了Js 获取当前函数参数对象的实现代码,需要的朋友可以参考下
有时候在封装控件的时候在很多 Js 函数中需要获取传入的直接参数或者对象参数,那么我们就需要每次都去判断第一个对象,所以为了方便在此封装一个函数,来获取当前函数中的参数值
/------------------------------------------ 清除字符串两端空格,包含换行符、制表符 ------------------------------------------/ String.prototype.Trim = function () { return this.replace(/(^[\s\n\t]+|[\s\n\t]+$)/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(/\sfunction[\w\s]\(([\w\s,])\)/); 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);
上一篇:JavaScript检测原始值、引用值、属性
下一篇:JS实现鼠标框选效果完整实例
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程