问题出在哪

问题出在哪

<!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回答

同学你好,

{}对象中属性名有引号或者没有引号是没有区别的。但是通过[]方式获取的时候,必须添加引号变为字符串,否则就是未定义的变量。

例如:

http://img1.sycdn.imooc.com//climg/5dca0aef098e050f02900148.jpg

http://img1.sycdn.imooc.com//climg/5dca0af509f30f3301030056.jpg

这两种方式是正确的。

还有一种情况属性名为变量的时候,只能通过[]的方式获取,这时候就不需要添加引号了,如下:

http://img1.sycdn.imooc.com//climg/5dca0b3709f9f3a302840181.jpg

http://img1.sycdn.imooc.com//climg/5dca0b3c0916dea301490056.jpg

自己可以再测试理解下。如果我的回答帮助到了你,欢迎采纳~

祝学习愉快!

好帮手慕星星 2019-11-10 10:24:43

同学你好,

这里和视频中不一样哦,视频中是在{}字面量对象中写属性名的时候,合法字符就可以不加引号:

http://img1.sycdn.imooc.com//climg/5dc773ea0941aacd00000000.jpg

但是这里是在调用setPerson方法进行传参,虽然传入的是属性名,但是实际上还是实参哦,实参和字面量对象中属性名不一样。

实参如果不加引号,就是变量,如果代码中没有定义这个变量,直接使用就会报错。所以这里传参的时候需要添加引号变为字符串。自己可以再测试下哦。

如果我的回答帮助到了你,欢迎采纳~

祝学习愉快!

  • 提问者 weibo_我是LUFFCIER_0 #1
    好的老师,这点我明白了。另外有个问题,对象当中的属性名带引号和不带引号有区别吗,因为我发现调用setPerson方法进行传参后,person.name和 person['name']可以获取属性值,但是person[name]却不行,为什么呢
    2019-11-11 21:19:01
好帮手慕糖 2019-11-09 14:11:56

同学你好,代码中有如下问题:

1、属性名这里是字符串,应该添加引号哦。例:

http://img1.sycdn.imooc.com//climg/5dc656d5097fe2d504590205.jpg

2、setPerson方法这里,单词拼写错误,参数名是prpperty,使用的是prperty,两个是不一致的哦,应该要使用一致。

且,直接使用点添加属性的话,会添加一个名为prpperty的属性(不是代表变量了),若要使用传递过来的值,需要使用[]哦。

http://img1.sycdn.imooc.com//climg/5dc65822098b598905110158.jpg

如果我的回答帮到了你,欢迎采纳。

祝学习愉快!

  • 提问者 weibo_我是LUFFCIER_0 #1
    课程不是说属性名是合法字符的话就不用加引号吗,为什么这里要加
    2019-11-09 20:31:16
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师