老师,我不太明白
1、老师,我不太明白 ,函数_get是要得到什么数据?为什么后面还要设置2个方法进行调用呢?
2、怎么进行调用。我写着写着糊涂了。麻烦老师解释下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>5-4</title>
</head>
<body>
<script>
//补充代码
function Student(){
privateStore=new Object();
function _set(name,sex,age){
privateStore.name=name;
privateStore.sex=sex;
privateStore.age=age;
}
function _get(){
return privateStore;
}
this.set=function(){return _set;}
this.get=function(){return _get;}
}
var boy1=new Student("小明", "男", 23);
</script>
</body>
</html>
正在回答 回答被采纳积分+1
同学你好,关于你的回答如下:
1、用来获取私有属性privateStore中的信息哦。
2、这道题的重点就是将set和get方法使用this挂载到student的实例化对象上,_set和)_get方法直接使用function关键字声明。
可以简单的理解为在函数中使用this定义的属性和方法, 实例化之后可以通过点(.)的当时访问到, 如果没有使用this定义的属相和方法可以理解为函数的局部属性和方法(私有的),外部不可以直接通过点的当时访问到
具体可以结合代码中的注释理解。
这道题的重点就是将set和get方法使用this挂载到student的实例化对象上,_set和)_get方法直接使用function关键字声明。
可以简单的理解为在函数中使用this定义的属性和方法, 实例化之后可以通过点(.)的当时访问到, 如果没有使用this定义的属相和方法可以理解为函数的局部属性和方法(私有的),外部不可以直接通过点的当时访问到
具体可以结合代码中的注释理解。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> // 1、创建一个构造函数student function student() { // student中使用字面式定义一个空对象privateStore,用来存放私有的数据。 var privateStore = { name: "张宇", sex: "男", age: 18 }; // 2、 student中定义一个函数_set , 用来设置学生的信息 (姓名,性别和年龄) 。 function _set(name, sex, age) { // 给privateStore这个对象添加学生信息 privateStore.name = name; privateStore.sex = sex; privateStore.age = age; }; // 3. student中定义一个函数_get , 用来获取信息 。 function _get() { console.log(privateStore.name + " " + privateStore.sex + " " + privateStore.age); } // 4、student中定义一个方法set, 调用_set方法。 this.set = function(name, sex, age) { // function set(name, sex, age) { // return _set; // 这里需要给_set方法传递参数,所以需要直接调用这个方法 _set(name, sex, age) } // 5、 student中定义一个方法get ,方法中返回函数_get。 this.get = function() { // function get() { return _get; } } // 6. 实例化对象student, var stu = new student(); // 并调用set方法为student添加信息 。如 ( "小明", "男", 23 ) // stu.set()("小明", "男", 23); stu.set("小明", "男", 23) // 直接调用set方法就可以了 // 7.调用get方法即可。 // stu.get(); stu.get()() </script> </body> </html>
3、可以参考如上代码理解之后,再动手改写下自己的代码哦。
如果我的回答帮助了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星