这种情况下,如何输出实例name,sex和age的值?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>5-4</title>
</head>
<body>
<script>
//补充代码
function student(name,sex,age){
var obj = {};
function _set(){
obj.name = name;
obj.sex = sex;
obj.age = age;
}
this.set = function(){
return _set;
}
}
var obj1 = new student("zhang","man","18");
</script>
</body>
</html>
正在回答 回答被采纳积分+1
你好同学,你的理解不对。首先obj1是没有name属性的。这里涉及到实例化对象的继承问题了。后面的课程中会讲到继承相关的内容。老师先给你讲一下。
在这个代码中,student是构造函数。obj1是通过 new student实例化的具体对象,它继承student中定义的属性和方法。student没有定义name,所以obj1自然也不会有name属性。
student中只定义了两个方法,也就是如下。变量obj以及函数 _set和函数_get都是student内部私有的。在外部拿不到的。所以实例化对象obj1只有set和get两个方法。(即如下圈出的)
而 student("zhang", "man", "18")只是给student传递了实际的参数。所以函数中的形参name, sex, age会接收这些实参的值。具体执行看如下:
祝学习愉快,望采纳。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星