利用原型共享数据

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</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("晨光",29,"女");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>Document</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);// 原型对象// 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("晨光",29,"女");// 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>Document</title><script>// function Person(age){//     this.age = age;//     this.sayHi = function(){//         console.log("hello");//         // 打招呼的同时,直接调用吃的方法//         // this.eat();//     };//     this.eat = function(){//         console.log("吃东西啦");//         this.sayHi();//     };// }// // 实例对象的方法,是可以相互调用的// // 实例化对象,并初始化// var per = new Person(20);// // 调用方法// // per.sayHi();// per.eat();</script><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>

实例对象使用属性和方法层层搜索

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Document</title><script>function Person(age,sex){// 年龄this.age = age;// 性别this.sex = sex;this.eat = function(){console.log("构造函数中的吃");};}Person.prototype.sex = "女";Person.prototype.eat = function(){console.log("原型对象中的吃");};var per = new Person(20,"男");// 男console.log(per.sex);per.eat();console.dir(per);/*** 实例对象使用的属性或者方法,先在实例中查找,找到了则直接使用* 找不到则去实例对象的__proto__指向的原型对象prototype中找,找到了则使用* 找不到则报错*/</script>
</head>
<body></body>
</html>

原型共享数据 原型简单语法 原型中方法是可以相互访问 实例对象属性方法层层搜索相关推荐

  1. java 统计汉字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法

    本文实例讲述了java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...

  2. java 字符串 数字个数_Java简单统计字符串中汉字,英文字母及数字数量的方法...

    本文实例讲述了Java简单统计字符串中汉字,英文字母及数字数量的方法.分享给大家供大家参考,具体如下: package org.zhy.demo.algorithm; /** * 有一个字符串,其中包 ...

  3. php节点对象,JavaScript_JavaScript中访问节点对象的方法有哪些如何使用,JavaScript中访问节点对象的方法 - phpStudy...

    JavaScript中访问节点对象的方法有哪些如何使用 JavaScript中访问节点对象的方法有哪些? var obj = document.getElementById('fdafda'); va ...

  4. java猫抓老鼠_用猫抓老鼠的实例理解java中面向对象的编程与类和对象以及方法的概念...

    今天看到马士兵讲的关于面向对象编程的思路,用了一个猫抓老鼠的例子,我觉得这个例子非常形象,于是写在这里,方便学习理解和以后查看 class cat{ //声明一个类–"猫" int ...

  5. Mysql 查询blob数据很慢,关于oracle中clob字段查询慢的问题及解决方法

    关于oracle中clob字段查询慢的问题及解决方法 最近在用oracle的过程中用到了对blob字段模糊查询的问题,对oracle来说,我并不是高手,找了很多的资料终于能够查出来了. blob字段直 ...

  6. Vue中的vm和VueComponent的实例对象

    关于vm和vc,vm为Vue的实例对象,vc为VueComponent的是对象. 一.vm 1.Vue的实例对象,以后简称vm. (1) vm的隐式原型属性指向Vue的原型对象. (2) VueCom ...

  7. python中关系运算符惰性求值_python对象属性惰性取值

    python面向对象进阶 在知乎上面看到这个如何让python对象属性具有惰性求值的能力,认真学习了一番,记录一下. __setattr__.__getattr__.__delattr__ class ...

  8. 中 自动展示链接的内容_织梦DEDECMS文章内容中的图片自动添加ALT和title属性方法...

    今天下载我资源网(www.xiazaiwo.net)要说的是织梦DEDECMS文章内容中的图片自动添加ALT和title属性,如果觉得不错,请分享给大家,也给大家做个参考.一起跟随小编过来看看吧! 织 ...

  9. java 方法重载 应用举例,Java 实例 - 重载(overloading)方法中使用 Varargs

    以下实例演示了如何在重载方法中使用可变参数:/* author by w3cschool.cc Main.java */public class Main { static void vaTest(i ...

最新文章

  1. 负载均衡(SLB)使用最佳实践
  2. 7 1学会使用 Node 编写简单的前端应用
  3. 802.11e (Quality of Service) : EDCA
  4. Matlab的内部常数
  5. tomcat - JVM 配置
  6. Java中的同步集合与并发集合有什么区别?
  7. Effective Java之当心字符串连接的性能(五十一)
  8. 六. 异常处理7.throw:异常的抛出
  9. Spring Cloud 中 分布式事务解决方案 -- 阿里GTS的使用
  10. 嵌入式基础认识2:shell脚本的一些简单语法规则
  11. 深入理解计算机系统1——计算机系统漫游
  12. FPGA实现VGA显示(六)——————多字符显示及基于fpga的“打字机”实现
  13. maven依赖avro_在MapReduce中使用Avro
  14. 利用百度OCR实现验证码自动识别
  15. paip.web数据绑定 下拉框的api设计 选择框 uapi python .net java swing jsf总结
  16. 极域课堂管理系统软件V6.0 2016 豪华版
  17. 苹果手机网速慢_都2020年了,该不该换5G手机?
  18. 10015---SpringMVC--自定义视图
  19. .net 简单的后台合成图片
  20. python卷积神经网络预测股价_利用神经网络预测股票市场

热门文章

  1. Android 编程下 px - dp 的相互转换
  2. 检索 COM 类工厂中 CLSID 为 { } 的组件时失败,原因是呈现以下错误: 80040154
  3. 网络摄像头2 mjpg_streamer流程,编译
  4. 弹性盒模型--新版与旧版比较(1)
  5. 如何搞定putty乱码
  6. 由DWR1.0到DWR2.0常出现的问题
  7. NetTier模板生成的代码框架用法 (转)
  8. Pygame实战项目:用300行代码写出贪吃蛇小游戏
  9. 开源的数据库,PostgreSQL 基础入门实战
  10. 微信如何解绑小程序_微信小程序该如何运营推广