JavaScript原型数据共享与方法共享探究
2021/6/10 20:24:31
本文主要是介绍JavaScript原型数据共享与方法共享探究,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 数据共享
- 什么样子的数据是需要写在原型中?
- 数据共享案例
- 原型简单写法
- 原型方法共享
数据共享
什么样子的数据是需要写在原型中?
需要共享的数据就可以写原型中
原型的作用之一:数据共享
属性需要共享,方法也需要共享:
- 不需要共享的数据写在构造函数中
- 需要共享的数据写在原型中
下面我们看一个案例
数据共享案例
每个学生的名字,年龄,性别都是独特的,我们要设置
所有学生的身高都是188,所有人的体重都是55 所有学生都要每天写500行代码 所有学生每天都要吃一个10斤的西瓜
就可以把共有数据写到原型中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <script> function Student(name,age,sex) { this.name=name; this.age=age; this.sex=sex; } // 所有学生的身高都是188,所有人的体重都是55 // 所有学生都要每天写500行代码 // 所有学生每天都要吃一个10斤的西瓜 //原型对象 Student.prototype.height="188"; Student.prototype.weight="55kg"; Student.prototype.study=function () { console.log("学习,写500行代码,小菜一碟"); }; Student.prototype.eat=function () { console.log("吃一个10斤的西瓜"); }; //实例化对象,并初始化 var stu=new Student("晨光",57,"女"); console.dir(Student); console.dir(stu); // stu.eat(); // stu.study(); </script> </head> <body> </body> </html>
打印出来是这样的
原型简单写法
原型还有一种更简单的方法,下面是对上面案例的修改
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <script> function Student(name, age, sex) { this.name = name; this.age = age; this.sex = sex; } //简单的原型写法 Student.prototype = { //手动修改构造器的指向 constructor:Student, height: "188", weight: "55kg", study: function () { console.log("学习好开心啊"); }, eat: function () { console.log("我要吃好吃的"); } }; var stu=new Student("鼎鼎大名",20,"男"); stu.eat(); stu.study(); console.dir(Student); console.dir(stu); </script> </head> <body> </body> </html>
原型方法共享
例如设定方法,吃完了玩,玩完了睡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>title</title> <script> //原型中的方法,是可以相互访问的 function Animal(name,age) { this.name=name; this.age=age; } //原型中添加方法 // 吃完了就玩 Animal.prototype.eat=function () { console.log("动物吃东西"); this.play(); }; // 玩完了就睡 Animal.prototype.play=function () { console.log("玩球"); this.sleep(); }; Animal.prototype.sleep=function () { console.log("睡觉了"); }; var dog=new Animal("小苏",20); dog.eat(); //原型对象中的方法,可以相互调用 </script> </head> <body> </body> </html>
这篇关于JavaScript原型数据共享与方法共享探究的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?