首页 > 技术文章 > JS实现给对象动态添加属性的方法

Ao-min 2020-12-16 14:35 原文

转自于:https://www.jb51.net/article/102095.htm

本文实例讲述了JS实现给对象动态添加属性的方法。分享给大家供大家参考,具体如下:

在工作用要用到给jd对象动态添加属性的要求,在网上找到了一种解决方式,实例如下:

1、demo

1
2
3
4
5
6
var aa="maker";
var bb=123;
var lists={};
eval("lists."+aa+"="+bb);
eval('('+"lists."+aa+"="+bb+')');
console.log(lists);

这种方式试过确实可以

2、项目中使用

1
2
3
4
5
6
7
8
9
10
11
12
13
$("#saveform").on("click",function(){
  var param={};
  //bz订单号
  var bzorderid=$("#bzorderid").val();
  //获取所有产品
  $("#allsk .sk td input").each(function(){
   var id=this.id;
   var name=this.name;
   var val=$("#"+id).val();
   //动态添加属性、赋值
   eval("param."+name+"="+val)
  });
}

遍历input获取值,js对象动态添加属性和属性值。

 

为Object对象动态添加属性和值

方式1:

 

  1.  
    var obj = {}; //或者 var obj=new Object();
  2.  
    var key = "name";
  3.  
    var value = "张三丰"
  4.  
    obj[key] = value;
  5.  
    console.info(obj);


方式2,使用eval() 动态解析字符串表达式

 

 

    1.  
      var obj = {};
    2.  
      var key = "name";
    3.  
      var value = "张三丰"
    4.  
      eval("obj.p" + key + "='" + value + "'");
    5.  
      console.info(obj);

推荐阅读