显示cannot read property get of undefined

显示cannot read property get of undefined

function student(name,sex,age){

var privateStore=new Object();

privateStore._set=function(){

this.name=name;

this.age=age;

this.sex=sex;

}

privateStore._get=function(){

alert(this.name+'--'+this.age+'--'+this.sex)

}

privateStore.get=function(){

return _get;

}

privateStore.set=function(){

return _set;

}

}

var test=student('小明','男',23);

test.get();


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

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

1回答
好帮手慕慕子 2019-06-21 17:26:58

同学你好, 如下图所示, 老师测试你这段代码是直接报错哦

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

建议修改: 可以参考下面的思路和代码理解

  1. 创建的privateStore可以用来存放私有数据也就是姓名、性别、年龄。

  2. 可以简单的理解为在函数中使用this定义的属性和方法, 实例化之后可以通过点(.)的当时访问到, 如果没有使用this定义的属相和方法可以理解为函数的局部属性和方法(私有的),外部不可以直接通过点的当时访问到,所以可以通过this.get和this.set方式将这两个方法暴露出去

  3. 创建的构造函数需要使用new操作符实力化对象

  4. people.set()表示调用这个函数,返回的是函数中私有方法_set的引用, 需要再次调用 people.set()("小明", "男", 23)才可以给私有的privateStore设置属性值。 调用get方法也是同样的道理

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

同学可以结合示例, 测试一下哦

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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