this[property]=val;???
var person={};
person.setPerson=function(property,val){
this[property]=val;
};
person.setPerson("name","xm");
person.setPerson("father","jack");
console.log(person);
正在回答
使用“.”号,属性名是硬代码,不能在执行时改变。
使用“[ ]”方括号,属性名是一个通过计算属性名而来的字符串。字符串要以是硬代码,也可能是变量,甚至可以是一个调回一个字母串值的函数。
如果一个属性名在执行产生,方括号是必须,因为[ ] 是引用一个 Javascript 数组的语法。所以,[ ]号记法是必须的。
如果要使用this.property的话,可以如下去写代码:
function Person(name,age,sex){
this.name = name;
this.age =age; //this 指向的obj对象
this.sex = sex; }
var obj = new Person("ziksang",22,"男")
alert(obj.name+"\n"+obj.age+"\n"+obj.sex)
- 参与学习 466 人
- 提交作业 74 份
- 解答问题 635 个
JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星