使用var employ = new Object();生成一个员工的对象后,能否根据程序运行结果动态生成员工对象的属性,比如若有员工的姓名为张三,则动态

saintKnight 2004-11-30 11:07:00
rt
...全文
119 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
JK_10000 2004-11-30
  • 打赏
  • 举报
回复
<script>

var tempProperty="name";
var tempPropertyValue="张三";


var employ=new Array();
employ["employ"+tempProperty]=tempPropertyValue;//在属性前加个employ,以避免属性名与关键字冲突

alert(employ.employname);
alert(employ["employname"]);
</script>
saintKnight 2004-11-30
  • 打赏
  • 举报
回复
我的意思是employName与employSex的名称是未知的,只有当用户选择了之后才知道。
能否通过eval等方法动态生成?
JK_10000 2004-11-30
  • 打赏
  • 举报
回复
<script>
var employ = new Array();
employ.employName='张三';//在属性前加个employ,以避免与关键字冲突
employ.employSex='男';

alert(employ.employName);
alert(employ["employName"]);


</script>
saintKnight 2004-11-30
  • 打赏
  • 举报
回复
我的问题主要是界面上用户选择员工信息时,有时选择员工姓名与性别,有时选择员工姓名、性别、出生日期等,即选择内容的标题是未知的,现在想生成一个对象,根据用户选择内容的标题来动态生成该对象的属性以保存用户选择标题的内容。
即若用户选择员工名称为张三、性别为男的信息时,则生成对象如下:
var employ = new Object();
employ.NAME='张三';
employ.SEX='男';
若用户选择员工名称为张三、出生日期为2001-1-1的信息时,则生成对象如下:
var employ = new Object();
employ.NAME='张三';
employ.BIRTHDATE = '2001-1-1';
等,即employ对象的NAME、SEX、BIRTHDATE……等属性的名称是未知的,只有用户选择完成后才能知道,怎么根据用户的选择动态生成这些属性呢?
JK_10000 2004-11-30
  • 打赏
  • 举报
回复
function Employee(name,sex)
{
this.name=name;
this.sex=sex;
}

var zhangsan=new Employee("张三","男");
alert(zhangsan.name);

zhangsan.sex="女";
alert(zhangsan.sex);
ccton 2004-11-30
  • 打赏
  • 举报
回复
赋值后,可以通过 employ.NAME 访问该属性,也可以用 employ["NAME"] 访问

如果想弄得复杂点,可以做个基类,实例化对象
ccton 2004-11-30
  • 打赏
  • 举报
回复
为啥不行呢?
你想问什么?

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧