{}与function(){}选用空对象{}来存放keyValue

贪多必失,写了一个用操作url 的js工具类,这个类上面有个属性叫queryString,我原来的做法是让queryString=function(){} ,

想法是希望能够queryString[key]或者queryString(key[,value])这样两种写法都支持,通过queryString[key] 方式调用key大小写敏感

通过queryString(key)则可以大小写无关。

今天杯具的发现url中带name参数死活都设置不上去,突然想起来queryString是个匿名函数,name,length等属性是只读的,

还是地乖乖改成queryString = {} ; 用另外的一个param(key[,value]) 来实现大小写无关的功能。

今天得到结论是用来放keyValue的字段最好不要使用function(){}这样已经有内置属性的类型来存放keyValue。

(0)

相关推荐

  • {}与function(){}选用空对象{}来存放keyValue

    贪多必失,写了一个用操作url 的js工具类,这个类上面有个属性叫queryString,我原来的做法是让queryString=function(){} , 想法是希望能够queryString[key]或者queryString(key[,value])这样两种写法都支持,通过queryString[key] 方式调用key大小写敏感 通过queryString(key)则可以大小写无关. 今天杯具的发现url中带name参数死活都设置不上去,突然想起来queryString是个匿名函数,n

  • js删除对象/数组中null、undefined、空对象及空数组方法示例

    这两天在项目中遇到后台需要传的数据为不能有null,不能有空值,而这个数据又是一个庞大的对象,对组集合,所以写了个方法来解决这个问题.为了兼具所有的种类类型,封装了方法,代码如下: let obj = { a: { a_1: 'qwe', a_2: undefined, a_3: function (a, b) { return a + b; }, a_4: { a_4_1: 'qwe', a_4_2: undefined, a_4_3: function (a, b) { return a +

  • JS实现判断对象是否为空对象的5种方法

    1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 2.for in 循环判断 var obj = {}; var b = function() { for(var key in obj) { return false; } return true; } alert(b());//true 3.jquery的

  • PHP使用new StdClass()创建空对象的方法分析

    本文实例讲述了PHP使用new StdClass()创建空对象的方法.分享给大家供大家参考,具体如下: PHP可以用 $object = new StdClass(); 创建一个没有成员方法和属性的空对象. 很多时候,程序员们会将一些参数配置项之类的信息放在数组中使用,但是数组操作起来并不是很方便,很多时候使用对象操作符->xxx比数组操作符['xxx']要方便不少.于是就需要创建一个空的对象,来将需要的属性名和属性值存储到对象中. 然而PHP中没有Javascript里面 var object

  • JavaScript 判断一个对象{}是否为空对象的简单方法

    做项目时遇到一个问题,判断一个对象是否为空对象,发现这样判断可以,上代码: 1. 代码1: var a = {}; if(!a){ console.log(1);} else if(a == null) { console.log(2);} else { console.log(3);} 结果为:3 2. 代码2: var b = {}; if(b == {}){ console.log(4);} if(b == '{}') { console.log(5);} if(typeof(b) ==

  • 关于axios返回空对象的问题解决

    在本文开始之前,关于axios基本入门用法可以参考这篇文章,下面来看看本文的详细内容吧. 问题描述: 使用 axios 请求数据的时候,已经请求成功,返回的参数也正确.但打印出来的时候就变成了空对象. 分析原因: 返回的参数都是正确的,只是打印的时候有问题,所以是打印的代码有误 查了一下 axios 的官方文档,才知道 console.log 的变量与字符串之间不能用 '+' 连接,应该用 ',' 解决方案: 只需要将加号改为逗号就可以了 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家

  • java 如何复制非空对象属性值

    目录 java 复制非空对象属性值 然后封装一下得到以下方法 测试方法就不提供了,自行测试即可 java对象属性复制的几种方式 1.使用java反射机制 2.使用spring-beans5.0.8包中的BeanUtils类 3.使用cglib3.2.8包中的net.sf.cglib.beans.BeanCopier类 4.使用spring-core5.0.8包 java 复制非空对象属性值 很多时候,我们需要通过对象拷贝,比如说VO类与数据库实体bean类.更新时非空对象不更新,对同一对象不同数

  • java如何判断一个对象是否为空对象

    最近项目中遇到一个问题,在用户没填数据的时候,我们需要接收从前端传过来的对象为null,但是前端说他们一个一个判断特别麻烦,只能传个空对象过来,我第一个想法就是可以通过反射来判断对象是否为空. 第一版: User.java public class User {     private String username;     private Boolean active;     private Long id;     // 省略get和set方法 } ReflectUtil.java pu

  • jquery isEmptyObject判断是否为空对象的函数

    复制代码 代码如下: isEmptyObject: function( obj ) { for ( var name in obj ) { return false; } return true; } 分析: 1.什么是对象:其实,在javascript中对象是一组"键/值"的组合,说白了就是数据集,表示属性和方法 jQuery 判断一个对象是否为空是使用for name in obj 来遍历对象中的属性名.如果一个对象有属性名则运行return false来返回结果,退出循环;否则,

  • js中判断Object、Array、Function等引用类型对象是否相等

    在迭代中,我们还要注意的是,对象或者数组中的元素可能是一个任意值--除了原始类型值.object.arrray外,这个值还可能是一个方法.一个DOM对象或者window对象,可能你已经注意到了,有部分引用类型是不能进行迭代的,需要分支判断,代码如下: 复制代码 代码如下: function compare(a,b){ var pt = /undefined|number|string|boolean/, fn = /^(function\s*)(\w*\b)/, cr = "constructo

随机推荐