问题出在哪
来源:5-7 编程练习
weibo_我是LUFFCIER_0
2019-11-09 11:38:50
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>方法的调用</title>
</head>
<body>
<script type="text/javascript">
// 在此处完成任务
var person={
setPerson:function(prpperty,value){
this.property=value;
}
};
person.setPerson(name,'xm');
person.setPerson(age,18);
person.setPerson(sex,'male');
document.write('name : ' + person.name + '<br>',
'age : ' + person.age + '<br>',
'sex : ' + person.sex)
</script>
</body>
</html>
3回答
同学你好,
{}对象中属性名有引号或者没有引号是没有区别的。但是通过[]方式获取的时候,必须添加引号变为字符串,否则就是未定义的变量。
例如:
这两种方式是正确的。
还有一种情况属性名为变量的时候,只能通过[]的方式获取,这时候就不需要添加引号了,如下:
自己可以再测试理解下。如果我的回答帮助到了你,欢迎采纳~
祝学习愉快!
好帮手慕星星
2019-11-10
同学你好,
这里和视频中不一样哦,视频中是在{}字面量对象中写属性名的时候,合法字符就可以不加引号:
但是这里是在调用setPerson方法进行传参,虽然传入的是属性名,但是实际上还是实参哦,实参和字面量对象中属性名不一样。
实参如果不加引号,就是变量,如果代码中没有定义这个变量,直接使用就会报错。所以这里传参的时候需要添加引号变为字符串。自己可以再测试下哦。
如果我的回答帮助到了你,欢迎采纳~
祝学习愉快!
好帮手慕糖
2019-11-09
同学你好,代码中有如下问题:
1、属性名这里是字符串,应该添加引号哦。例:
2、setPerson方法这里,单词拼写错误,参数名是prpperty,使用的是prperty,两个是不一致的哦,应该要使用一致。
且,直接使用点添加属性的话,会添加一个名为prpperty的属性(不是代表变量了),若要使用传递过来的值,需要使用[]哦。
如果我的回答帮到了你,欢迎采纳。
祝学习愉快!
相似问题