js 自定义构造函数

  • 自定义构造函数
  • 根据固定的模板,创建一个对象,创建的对象有构造函数规定的属性和方法。
  • 潜规则:构造函数的首字母需要大写
  <script>//自定义构造函数//就是根据固定的模板,创建一个对象,创建的对象有构造函数的属性和方法//潜规则:首字母大写的函数就是构造函数function Cat(name, age) {this.name = name; //this.后面的变量可以随意取名this._age = age //潜规则:下滑线开头的属性为私有属性,不能直接调用,需要方法调用//但浏览器是没有办法,限制直接调用的,需要靠自觉}Cat.prototype.jiao = function () {//构造函数的方法 每个函数都有一个prototype属性,其值是一个对象console.log(this.name + '喵~~~~喵~~~喵~~~~')//在prototype上的属性和方法,会被这个函数new的对象所共享}let c1 = new Cat('小喵', '18');//调用构造函数的时候,要用new操作符来创建对象console.log(c1)//new的时候浏览器做了哪些事情//1.创建了一个对象//2.对象有一个属性__proto__ 其值为prototype//3.构造函数里的this指向这个new创建的对象//4.执行构造函数//5.返回这个对象c1.jiao();//访问一个对象的属性和方法,先在对象本身上查找//如果找到,则返回,如果找不到的话,就在对象的__proto__上面进行查找//一直到__proto__的值为null//所有对象的父级为Object//所以,如果在Object的prototype上创建方法,那么这个方法会由所有的对象共享Object.prototype.ha = function () {console.log('我是Object下的ha方法');}c1.ha();//如果有两个同名的方法,会在自下而上的查找过程中,先发现那个,就调用那个</script>


下面用一张图来看一下自定义函数的查找方法的过程

js 自定义构造函数相关推荐

  1. js的自定义构造函数和工厂模式的区别

    使用自定义构造函数创建对象 function Person(name,age){this.name=name;this.age=age;this.play=function(){console.log ...

  2. 课程介绍 复习 创建对象的三种方式 自定义构造函数创建对象 工厂模式创建对象

    课程介绍 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8 ...

  3. threejs 三面体_Three.js 自定义了一个几何体

    几何体本质: 立方体几何体BoxGeometry本质上就是一系列的顶点构成,只是Threejs的APIBoxGeometry把顶点的生成细节封装了,用户可以直接使用. 比如一个立方体网格模型,有6个面 ...

  4. 【Node.js 微信公众号实战】3.Node.js 自定义微信菜单

    文章目录:         1.Node.js 接入微信公众平台开发         2.Node.js access_token的获取.存储及更新         3.Node.js 自定义微信菜单 ...

  5. 原生html js css绘制折现图,HTML5教程 Chart.js自定义提示折线图

    本篇教程探讨了HTML5教程 Chart.js自定义提示折线图,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < var randomScalingFactor ...

  6. js自定义函数及参数问题

    js自定义函数的过程中,往往我们希望指定一些参数的默认值 很容易的会写出如下的js 方法 function test(a,b,c=1,d='id'){ return 1; } 但是定义完之后,浏览器会 ...

  7. html 自定义js,js 自定义事件

    js怎么自定义事件,并能让用on事件监听 你这个问题全部内容应该是如下吧: 在视频播放的时候,能够用on监听事件的触发,如下: player.on('pause',function(){ consol ...

  8. swift5自定义构造函数和自定义变量报required init?(coder: NSCoder) { fatalError(“init(coder:) has not bee错问题

    swift5自定义构造函数和自定义变量报required init 全局类下 UIViewController,通过构造方法传递属性值.还有一种方法,通过属性监听去给给viewController 传 ...

  9. Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇

    文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...

最新文章

  1. 为什么2100万个BTC发行总量少了0.0231?
  2. layui上传图片列表展示_layui怎么做图片在列表中显示 | 学步园
  3. 重回大厂 996 的年轻人:还是先搞钱
  4. PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码
  5. Python 3.6安装教程
  6. LoadMenu使用方法
  7. 产品经理之深度学习促进产品
  8. GB28181平台介绍
  9. 内向的人能做管理吗?
  10. webstorm ubuntu下安装
  11. [转载] python的面向对象和类与对象
  12. 为什么我们更宠爱“随机”梯度下降?(SGD)
  13. 解决Visual Studio 2019未能从“https://www.nuget.org/api/v2/package..“下载包问题
  14. java 学生考勤系统(三、签到功能)
  15. JBoss中间件漏洞总结
  16. 关于RH850系统时钟初始化的分析解读
  17. Element-UI源码学习——弹框组件
  18. html语言怎么换下一行,表格中打字怎么换到下一行
  19. 自己整理的英语一最终作文模板
  20. 工业大数据漫谈3:什么是工业大数据?

热门文章

  1. u盘linux系统盘制作,制作Linux的U盘(usb)启动盘
  2. 微信公众号 开发详解01【目的、起名、准备工作、注册流程、后台功能】
  3. 超详细解释:什么叫负载均衡
  4. 微信跳一跳多种辅助合集
  5. android参考文献英文字体,英文参考文献标准字体.doc.docx
  6. Java:Stream三部曲(一):函数式接口的理解与常用示例(Runnable、Comparator、Callable、Consumer、Predicate、Supplier、Function)
  7. 2021-06-02 Oracle日期格式化
  8. 我懵了,居然还有学校还在教 Java 的 Swing
  9. 怎么关闭苹果手机自动扣费_优酷自动续费怎么关闭
  10. windows server 2012 Hyper-V 虚拟机的导出及导入