声明对象
var can_args = new Object();
对象赋值
can_args={"vue":300,"jquery":200……};
对象动态赋值
第一种:
let key = "id"; let value = 2 can_args[key] = value;
第二种:
var obj1={"vue":300,"jquery":200}; var obj2={"react":500}; can_args={ obj1, obj2 }
第三种:
let obj4 = {a:"1"};
let obj5 = {b:"2"};
let obj6 = {c:"3"};
can_args.assign(obj4,obj5,obj6);
参考文献:js动态往对象添加数据_js往对象中添加数据_Herib的博客-CSDN博客
JavaScript 判断对象属性是否存在(对象是否包含某个属性)
第一种:使用 in 运算符,用法是属性名 in 对象,如果存在返回 true,反之为 false,来看个例子
(in 只能判断对象有没有这个属性,无法判断这个属性是不是自身属性)
var echo = { name:'听风是风', job:undefined }; console.log('name' in echo); //true console.log('job' in echo); //true console.log('age' in echo); //false
判断是否是自身属性
一个最简单的构造函数创建实例的例子:
function Parent(){ this.name = 'echo'; }; Parent.prototype.age = 26; var o = new Parent(); o.name//echo o.age//26
在这个例子中,对于实例 o 而言,name 就是是自身属性,这是它自己有的,而 age 是原型属性,o 虽然没有这个属性,但在需要时,它还是顺着原型链找到了自己的老父亲 Parent,并借用了这个属性。
所以当我们用 in 判断时可以发现结果均为 true:
'name' in o;//true 'age' in o;//true
针对这个问题,如果我们还要判断是否是自身属性,就得借用方法hasOwnProperty(),
hasOwnProperty()做了两件事,除了判断对象是否包含这个属性,还判断此属性是不是对象的自身属性。
o.hasOwnProperty('name');//true o.hasOwnProperty('age');//false
参考文献:JavaScript 判断对象属性是否存在(对象是否包含某个属性)_js 查找属性_thankseveryday的博客-CSDN博客