时间:2021-05-26
有时候在封装控件的时候在很多 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(/\s*function[\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);声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
js获取对象、数组的实际长度,元素实际个数的实现代码/*获取对象、数组的长度、元素个数*@paramobj要计算长度的元素,可以为object、array、st
本文实例为大家分享了JS面向对象之多选框实现代码,供大家参考,具体内容如下描述:JS面向对象——多选框的实现效果:实现:Utile.js(function(){
JS函数的参数在function内可以用arguments对象来获取。参数的调用有两种方式:1、期望参数的使用。2、实际传递参数的使用。应用举例:functio
本文实例为大家分享了JS面向对象之单选框实现代码,供大家参考,具体内容如下描述:JS面向对象——单选框的实现效果:实现:Utile.js(function(){
本文实例讲述了Python使用Flask框架获取当前查询参数的方法。分享给大家供大家参考。具体如下:这段代码实现Python的Flask框架下获取当前查询参数,