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

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

【學習打卡】第6天 數據結構之“鏈表”

標簽:
JavaScript

课程名称:JavaScript版数据结构与算法
课程章节:第5章 数据结构之“链表”
主讲老师:lewis

课程内容:

今天学习的内容包括:
5-7 前端与链表:JS 中的原型链——本章结合vscode调试直观的学习原型链的指向和关系。

课程收获:

JS 中的原型链

1、查看平时定义的对象、函数体、数组的原型链关系

const obj = {}
console.log(obj.__proto__ === Object.prototype);  // true
const func = () =>{}
console.log(func.__proto__ === Function.prototype); // true
console.log(func.__proto__ === Object.prototype);  // true
const arr = []
console.log(arr.__proto__ === Array.prototype); // true
console.log(arr.__proto__ === Object.prototype);  // true

2、在Function,Object上对原型链定义属性,定义对象和函数,看访问对应属性结果

const obj = {}
Object.prototype.x = 'x'

const func = () =>{}
Function.prototype.y = 'y'

console.log(obj.x); // x
console.log(obj.y); // undefined

console.log(func.y); // y
console.log(func.x);  // x

3、自己写一个instanceOf判断继承关系,通过循环原型链判断A的__proto__上是否存在B的prototype,进而实现判断继承。

const instanceOf = (A,B) => {
  let p = A
  while(p){
    if(p === B.prototype){ 
      return true
    }
    p = p.__proto__
  }
  return false
}

console.log(instanceOf({},Object)); // true
console.log(instanceOf(Object,{})); // false

4、题目分析,在原型链上去查找a,b的值

var foo = {}
F= function(){}

Object.prototype.a = 'value a'
Function.prototype.b = 'value c'

console.log(F.a); // 'value a'
console.log(F.b); // 'value b'

console.log(foo.a); // 'value a'
console.log(foo.b); // undefined

通过今天的学习,对JS 中的原型链更加明白了,在以后的工作中也能够更好的运用原型链的特性解决特定问题,对自己说一句,加油😀~

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

https://img1.sycdn.imooc.com//62f271f80001925419200892.jpg

https://img1.sycdn.imooc.com//62f2788b00011cc819200892.jpg

點擊查看更多內容
TA 點贊

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

評論

作者其他優質文章

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

100積分直接送

付費專欄免費學

大額優惠券免費領

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

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消