老师,您好,我对这段话的理解是这样的,您看对不

老师,您好,我对这段话的理解是这样的,您看对不

http://img1.sycdn.imooc.com//climg/5acf6c3600018ddf04820263.jpg先分别定义了person对象的一个方法和一个属性,然后通过var per=new person("zhangsan",20)实例化了一个对象为per,并把person的属性于方法传给了per,per再调用

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
怎么都被占用了呢 2018-04-13 17:17:14

构造函数中的this是指向实例的,实例化后的对象是谁,它就指向谁。实例化出来2个对象person1和person2后,它们是都有一个name属性,但是属性值可能会不同,因为实例化的时候传入的参数可能会不同。传入的参数是对name的赋值。

怎么都被占用了呢 2018-04-13 13:48:50

你可以这么理解:person是个构造函数,通过new person的方式会实例化一个对象,并赋值给per这个变量,(per也就是这个实例化对象的名称了),然后可以通过对象.的形式,调用对象中的方法

  • 提问者 慕粉3125272 #1
    那两次使用构造函数的方法,this.name会一样吗,是不是这个意思,两次创建对象后的this.name的名是一样的,this也不会变成person1和perosn2,都还是保持是this.name,但是由于每次传进来的name这个值在内存中所开辟的内存空间地址不一样,所以两次this.name所指向的地址就不一样故他们的this.name就不一样
    2018-04-13 14:03:51
  • 提问者 慕粉3125272 #2
    就是说,用原有的函数进行赋值等一系列操作后把值返回给创建的per1,此时原有函数的当前对象并不知道是per1或者per2,还是保持原有的this,函数只是改变了name值,然后再赋给per1和per2
    2018-04-13 14:08:34
  • 提问者 慕粉3125272 #3
    在运行的时候当前的对象this只还是认识person,并不知道对象是per1或者per2,只是传进来的参数改变了函数的指向,导致第一次属性所指与第二次属性所指并不一样
    2018-04-13 14:12:16
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

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

在线咨询

领取优惠

免费试听

领取大纲

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