老师,这样可以吗?
来源:5-4 编程练习
qq_圆方_0
2021-02-08 20:52:57
function student(){
var private=new Object()
this._set=function(name,sex,age){
private.name=name
private.sex=sex
private.age=age
}
this._get=function(){
for(var k in private){
console.log(k+' '+private[k])
}
}
}
var obj=new student()
console.log(obj._set('张宇','girl',18));
console.log(obj._get());
1回答
同学你好,解答如下:
1、这样写可以,但是与任务要求不太符,任务要求是想让大家封装两个内部方法_set和_get,然后再定义两个方法get、set供外部使用。即get、set方法是对外的,而_set和_get是不对外的。因此,可以如下这样调整一下:
2、同学的写法中,页面会打印两个undefined:
原因是_set、_get方法本身并没有使用return 这个关键词返回内容,默认会返回undefined,所以console它们的返回值,会打印undefined:
建议直接调用,不打印,如下:
祝学习愉快!
相似问题