5-4 编程练习多层store结构如何实现的?
小伙伴们,我们学习了前面的知识 ,下面利用闭包特性来封装一个对象store,用来存储学生的信息,信息为姓名,年龄和性别,这些信息不可被外部直接访问,只能通过对象的方法获取或修改信息
正在回答
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>5-1</title> </head> <body> <script> var store=(function () { var privateStore={}; return { get:function(name,key){ if(key!==undefined){ return privateStore[name][key] }else if(name!==undefined){ return privateStore[name] }else{ return privateStore; } }, set:function(name,key,value){//这里就是第三步的意思。 if(name===undefined){ return; } var info=privateStore[name]; if(!info){ privateStore[name]={}; } if(Object.prototype.toString.call(key)==='[object Object]'){ privateStore[name]=key; }else if(key!==undefined && value!==undefined){ privateStore[name][key]=value; } } } })() store.set("小明","age",23) //添加一个学生的某一项信息 store.set("小红",{"age":24,"sex":"女"}) //添加一个学生的全部信息 var info=store.get(); console.log(info) </script> </body> </html>
同学可以参考一下上面的代码,其中你的第三步的疑问,在上面也给出了标注。建议同学再把整个面向对象课程再重新学习一下,看的出来你没有完全掌握,这个课程本来就是js中的重难点,不好理解,还是要反复琢磨,反复学习会学的更透彻。
如果帮助到了你,欢迎采纳!
具体哪里不明白请同学描述清楚哦,
可以参考一下思路引导:
1创建一个构造函数store,store中使用字面式定义一个空对象privateStore,用来存放私有的数据。
2. store 中定义一个函数_get,用来获取信息 。可获取全部的store信息,可获取某个人的全部信息, 可获取某个人的一项信息(比如年龄) 。
3. store 中定义一个函数_set , 用来添加或者修改信息。可以添加某个人的一项信息或者全部信息,可以对已有的信息进行修改
4. store 中定义一个方法get ,方法中返回函数_get。
5. store 中定义一个方法set, 方法中返回函数_set。
6.实例化对象store,并调用set方法添加学生的信息 。
l 添加一个学生的某一项信息:("小明" ,"age" ,23 )
l 添加一个学生的全部信息:("小强", {"age":23,"sex":"男"})
7.调用get方法输出已添加的所有信息。
如果帮助到了你,欢迎采纳。
- 参与学习 人
- 提交作业 467 份
- 解答问题 4826 个
本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星