var Book = function (id, name, price) {//private(在函数内部定义,函数外部访问不到,实例化之后实例化的对象访问不到) var num = 1; var id = id; function checkId() { console.log('private') } //protected(可以访问到函数内部的私有属性和私有方法,在实例化之后就可以对实例化的类进行初始化拿到函数的私有属性) this.getName = function () { console.log(id) } this.getPrice = function () { console.log(price) } //public(实例化的之后,实例化的对象就可以访问到了~) this.name = name; this.copy = function () { console.log('this is public') } } //在Book的原型上添加的方法实例化之后可以被实例化对象继承 Book.prototype.proFunction = function () { console.log('this is proFunction') } //在函数外部通过.语法创建的属性和方法,只能通过该类访问,实例化对象访问不到 Book.setTime = function () { console.log('this is new time') } var book1 = new Book('111','悲惨世界','$99') book1.getName(); // 111 getName是protected,可以访问到类的私有属性,所以实例化之后也可以访问到函数的私有属性 book1.checkId(); //报错book1.checkId is not a function console.log(book1.id) // undefined id是在函数内部通过定义的,是私有属性,所以实例化对象访问不到 console.log(book1.name) //name 是通过this创建的,所以在实例化的时候会在book1中复制一遍name属性,所以可以访问到 book1.copy() //this is public book1.proFunction(); //this is proFunction Book.setTime(); //this is new time book1.setTime(); //报错book1.setTime is not a function

转载于:https://www.cnblogs.com/zuichumx0826/p/9355399.html

js 面向对象例子相关推荐

  1. 对js面向对象的理解

    转自:http://www.cnblogs.com/jingwhale/p/4678656.html js面向对象理解 ECMAScript 有两种开发模式:1.函数式(过程化),2.面向对象(OOP ...

  2. 什么是js面向对象?有什么特点?

    什么是js面向对象? 1.首先,js面向对象是一种思想: 2.其次,遵循万物皆对象的准则:程序中的关键模块都可以视为对象,对象都是由属性和方法组成,属性可以理解为对象的特征,是静态的,方法可以理解为对 ...

  3. Js面向对象的程序设计——理解对象

    Js面向对象的程序设计 Js面向对象的程序设计 理解对象 属性类型 Js面向对象的程序设计 理解对象 示例 : var person=new Object(); person.name="N ...

  4. 【何不三连】JS面向对象最后一弹-多态篇(羽化升仙)

    前言 你盼世界,我盼望你无bug.Hello 大家好!我是霖呆呆! 首先抱歉让大家久等了,大家一直期待的"多态"篇到现在才来 ????,其实我最近挺忙的,给张手机截图让大家感受一下 ...

  5. JavaScript – 6.JS面向对象基础(*) + 7.Array对象 + 8.JS中的Dictionary + 9.数组、for及其他...

    6.JS面向对象基础(*) 7.Array对象 7.1 练习:求一个数组中的最大值.定义成函数. 7.2 练习:将一个字符串数组输出为|分割的形式,比如"刘在石|金钟国|李光洙|HAHA|宋 ...

  6. JS面向对象一:MVC的面向对象封装

    JS面向对象一:MVC的面向对象封装 MDNjavascript面向对象 面向对象(Object-Oriented) 面向对象里面向的意思是以...为主,面向对象编程既以对象为主的编程. 面向对象的一 ...

  7. java实现选项卡定时轮播_原生js面向对象编程-选项卡(自动轮播)

    原生js面向对象编程-选项卡(自动轮播) }#div1 input{color:#fff;width:100px;height:40px;background:darkseagreen;border: ...

  8. js面向对象程序设置——创建对象

    <script type="text/javascript">              //工厂方式         //1.原始方式         /* var ...

  9. 简单粗暴地理解js原型链–js面向对象编程

    简单粗暴地理解js原型链–js面向对象编程 作者:茄果 链接:http://www.cnblogs.com/qieguo/archive/2016/05/03/5451626.html 原型链理解起来 ...

最新文章

  1. php的cookie的函数,php setcookie()函数的使用简介
  2. 【李宏毅2020 ML/DL】P110-111 Policy Gradient Proximal Policy Optimization
  3. 阿里巴巴获机器视觉顶级会议ACM MM2020主办权
  4. 如何通过“随航”将iPad用作苹果Mac的第二个显示屏?
  5. QT ubuntu下 多画面视频监控播放器rtsp播放器
  6. Xilinx:词汇表
  7. 关于Tensorflow模型保存与读取的问题
  8. 运用集合实现用户的注册和登录
  9. Win10下载nmap!!!!(超详细,学不会直接远程指导)
  10. 手机免流量,还会是天方夜谭吗?
  11. arm解锁 j-flash_J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序(示例代码)...
  12. 怎样把图片保存为html文件,在Word中通过把编辑的图片另存为HTML文件实现转换图片...
  13. 计算机鼓轮原理,五.汽车底盘测功机的构造及工作原理a单轮单滚筒式.ppt
  14. Kubernetes学习
  15. [CVE-2022-0847][Dirty Pipe]Linux内核权限提升漏洞
  16. 《摩诃般若波罗蜜多心经》
  17. 添加arm系列相关的cross compile toolchain
  18. 换发型算法_GitHub - DylanMaeng/yry: yry(颜如玉)—— 一个实现人脸融合的算法,可以接近腾讯天天P图疯狂变脸功能的效果...
  19. UG NX软件的一些简单设置
  20. 推荐使用——Piriform公司出品的4款原生64位免费精品软件!

热门文章

  1. 数列分块入门3(查询前驱)
  2. Visual Translation Embedding Network for Visual Relation Detection论文中的术语以及对论文的理解笔记...
  3. android studio- java注释自己动手弄起来
  4. 数据结构---并查集
  5. Nodejs入门【转载】保留备用
  6. 转载:static的初始化顺序
  7. 25 | 基础篇:Linux 磁盘I/O是怎么工作的(下)
  8. 6.6 rsync:文件同步工具
  9. 图解ARP协议(二)ARP攻击原理与实践
  10. 因云而生,全新视角看阿里云服务器硬件方升架构