笔记、视频、源码:JavaScript(基础、高级)笔记汇总表【尚硅谷JavaScript全套教程完整版】

目   录

P15 15.尚硅谷_JS高级_函数的prototype 15:04

1. 函数的prototype属性(图)

2. 给原型对象添加属性(一般都是方法)

P16 16.尚硅谷_JS高级_显式原型与隐式原型 28:34

P17 17.尚硅谷_JS高级_原型链 44:34

P18 18.尚硅谷_JS高级_原型链_补充 10:29


P15 15.尚硅谷_JS高级_函数的prototype 15:04

1. 函数的prototype属性(图)

1. 函数的prototype属性(图)

  • 每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为: 原型对象)
  • 原型对象中有一个属性constructor,它指向函数对象

  

构造函数 与 原型对象,相互引用。

2. 给原型对象添加属性(一般都是方法)

2. 给原型对象添加属性(一般都是方法)

  • 作用:函数的所有实例对象自动拥有原型中的属性(方法)

P16 16.尚硅谷_JS高级_显式原型与隐式原型 28:34

  1. 每个函数function都有一个prototype,即显式原型。
  2. 每个实例对象都有一个__proto__,可称为隐式原型。
  3. 对象的隐式原型的值为其对应构造函数的显式原型的值。
  4. 内存结构(图)
  5. 总结:
    1. 函数的prototype属性:在定义函数时自动添加的,默认值是一个空Object对象。
    2. 对象的__proto__属性:创建对象时自动添加的,默认值为构造函数的prototype属性值。
    3. 程序员能直接操作显式原型,但不能直接操作隐式原型(ES6之前)。

P17 17.尚硅谷_JS高级_原型链 44:34

  • 1. 原型链(图解)

    • 访问一个对象的属性时,

      • 先在自身属性中查找,找到返回
      • 如果没有, 再沿着__proto__这条链向上查找,找到返回
      • 如果最终没找到,返回undefined
    • 别名: 隐式原型链
    • 作用: 查找对象的属性(方法)
  • 2. 构造函数/原型/实体对象的关系(图解)
  • 3. 构造函数/原型/实体对象的关系2(图解)

函数都有prototype属性,只是说普通函数的prototype属性的没有意义,当做构造函数使用的函数的prototype属性才有意义。

所有的函数对象都是Function函数的实例对象,因此这些函数的隐性原型属性都是一样的。然后这些函数都有各自自己的显性原型属性,和由通过他们自己创建的实例对象的隐性原型属性地址值相等。

P18 18.尚硅谷_JS高级_原型链_补充 10:29

所有函数的隐式原型等于构造函数的显示原型。是所有(构造)函数实例对象的隐式原型等于(构造)函数的显示原型。

1、所有函数的显示原型指向的对象是空Object的实例对象。2、所有函数都是Function的实例。

JavaScript高级day02-AM【函数的prototype、显式原型与隐式原型、原型链】相关推荐

  1. JavaScript 高级3 :函数进阶

    JavaScript 高级3 :函数进阶 Date: January 19, 2023 Text: 函数的定义和调用.this.严格模式.高阶函数.闭包.递归 目标: 能够说出函数的多种定义和调用方式 ...

  2. 33 个 JavaScript 核心概念系列(三): 显式 (名义) 与 隐式 (鸭子)类型转换

    原文地址:落明的博客 一. 前言 说实话,JavaScript 的类型转换是个相当头疼的问题,无论是对于初学者还是有经验的老司机.它的难处并不在于概念多难理解,而是情况多且杂,看似相同的情况结果却又出 ...

  3. 关于显式类型转换以及隐式类型转换

    哈喽嗷,铁汁们,咱们又见面了.是我嗷,一个不正经楼主. 首先提出一点,关于这个小细节专栏,看了绝对没好处(滑稽) 咳咳,咱们言归正传. 目录 隐式类型转换 ①算术运算中的隐式转换 规则一:字符和整数的 ...

  4. 粗解构造函数,原型,原型链,显式原型,隐式原型

    构造函数 引入:使用工厂函数来创造对象时,使用var obj =new Object(),创建后都是object,无法区分 创建一个构造函数,专门用来创建特定类型的对象,例如人的对象,动物的对象.构造 ...

  5. Scala 高阶函数(作为值的函数、匿名函数、闭包、柯里化)+隐式转换和隐式参数...

    Scala高级特性 1.    学习目标 1.1.   目标一:深入理解高阶函数 1.2.   目标二:深入理解隐式转换 2.    高阶函数 2.1.   概念 Scala混合了面向对象和函数式的特 ...

  6. 【selenium-python】显式等待和隐式等待的使用和区别

    我的博客 网上教程挺多,看完还是没太理解,看了官方文档稍微理解了一些,在此记录. 部分观点为个人理解,请批判性阅读.如有错误,请指正,万分感谢. 参考: webdriver_waits When to ...

  7. 2021年大数据常用语言Scala(三十八):scala高级用法 隐式转换和隐式参数

    目录 隐式转换和隐式参数 隐式转换 自动导入隐式转换方法 隐式转换的时机 隐式参数 隐式转换和隐式参数 隐式转换和隐式参数是scala非常有特色的功能,也是Java等其他编程语言没有的功能.我们可以很 ...

  8. C#的显式接口和隐式接口

    C#的显式接口和隐式接口 接口的实现分为:隐式实现和显式实现.如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显式实现.显示实现是通过使用接口 ...

  9. 三种等待方式:强制等待、显式等待、隐式等待

    我们在使用selenium的时候,会遇到一种定位不到的情况,因为web页面有一个加载的过程 当页面元素未出现时,去定位肯定是定位不到的,所以我们需要用到了'等待',该如何使用等待呢,让我们一起来探讨一 ...

最新文章

  1. 一周内咸鱼疯转2.4W次,最终被所有大厂封杀!
  2. SHELL-命令解释程序
  3. socket多线程方式案例
  4. 【Asp.Net】Asp.Net CommandName作用
  5. 多线程的创建方式---继承Thread和实现Runnable
  6. Visual Studio 2017 新功能(下)
  7. LeetCode 1658. 将 x 减到 0 的最小操作数(哈希)
  8. 1121: [POI2008]激光发射器SZK
  9. data fastboot 擦除_fastboot命令大全
  10. 浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别
  11. Android开机启动流程
  12. 了解DNS劫持及dns劫持修复方法
  13. 回归预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多输入单输出
  14. JavaScript循环语句的性能问题
  15. 微信小程序开发之全屏显示
  16. 百度地图通过地理位置名称获取地理坐标
  17. EasyRadius——Wayos路由计费的唯一选择
  18. lightoj 1098 A New Function 约数之和(一道奇怪的数论) 整除分块优化
  19. php相册实现图片上传源码,php 图片上传源码下载[gif,jpg]
  20. YOLOv7如何提高目标检测的速度和精度,基于优化算法提高目标检测速度

热门文章

  1. 在html中取消或加上超链接的下划线
  2. IDEA2021创建Java Web项目
  3. SQL比oracle卡,对比Oracle与SQL Server
  4. 获取mongodb数据变更_支持mysql、MongoDB数据变更订阅/监听分发
  5. 计算机二级c选择题题库,C程序设计选择题题库【2018计算机二级考试题库:《C++》选择题练习】...
  6. oracle 数据 时间间隔,如何掌握 Oracle 中的时间间隔型数据
  7. sklearn特征的选择
  8. 博士申请 | 加拿大Mila实验室唐建教授招收深度学习方向博士生和实习生
  9. ACL 2021 | 北京大学KCL实验室:如何利用双语词典增强机器翻译?
  10. 官方发布:深度学习高层API保姆级中文教程免费开放