亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第4天 從函數到函數式編程之路

標簽:
JavaScript

课程名称:破解JavaScript高级玩法
课程章节:第6章 从函数到函数式编程之路
主讲老师:Cloud

课程内容:

今天学习的内容包括:
6-6 深入浅出原型链——原型链基本知识大回顾。

课程收获:

原型是“借”来的
  • 原型不是JavaScript首创
  • 借鉴Self语言,基于原型( prototype)的实现继承机制
原型的解决了什么问题
  • 共享数据,减少空间占用,节省内存
  • 实现继承
原型三件套
  • prototype
  • constructor
  • proto
prototype
  • 无处不在
  • 本质是一个普通对象
constructor
  • 实例的构造函数
proto
  • proto : _proto_属性是一个访问器属性(一个getter函数和一个setter函数),暴露了通过它访问的对象的内部[Prototype]
  • 构造函数的原型prototype
  • 推荐使用:Object.getPrototypeof
谁都有谁
  • prototype属性本质是一个普通对象
  • 普通对象有_proto_属性
  • 普通函数或者class既有prototype属性,又有__proto__属性

小结

prototype
  • 函数或则class的共享属性
  • 作用:节约内存、实现继承
  • 本质是一个普通的对象
constructor
  • 实例对象的构造函数
  • 可以被更改
  • 普通对象,其在原型上
proto
  • 构造函数的原型
  • Object.prototype.proto == null
  • 基于此形成原型链
知识点总结
  • 函数最终的本质上是对象
  • 普通对象都有constructor,指向自己的构造函数,可以被改变,不一样安全
  • 函数和class的prototype.constructor指向函数自身
  • Function,Object,Regexp, Error等本质是函数,Function.constructor=== Function
  • 普通对象都有__proto__,其等于构造函数的原型,推荐使用Object.getPrototypeOf
  • 所有普通函数的构造函数都是Function,ES6有出现的函数种类AsyncFunction,GeneratorFunction
  • 原型链的尽头是null: Object.prototype.proto= null
  • Function._proto__指向Function.prototype
趣味知识
  • 普通对象的二次__proto__是null
  • 普通函数的三次__proto__是null
  • 如果是经历过n次显式继承,被实例化的普通对象,n+3层的__proto__是null
纯净对象
  • 什么是纯净对象,就是干干净净的对象。没有原型。
  • 怎么创建:Object.creat(null)
优点
  • 空间上,少了原型链的信息,必然节约空间。
  • 时间上,没有原型链,查找一步到位。

今天 学习了 深入浅出原型链,再次熟悉了原型链相关的知识,学习就是不断学习,重复学习。对自己说一句,加油😀~

坚持打卡,坚持学习!明天见💪~

​​
https://img1.sycdn.imooc.com//635aa5b70001a40425331360.jpg

https://img1.sycdn.imooc.com//635aa8580001548025341356.jpg

https://img1.sycdn.imooc.com//635aa8c00001c72325261351.jpg

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消