日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?

發布時間:2023/12/19 HTML 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面:

new關鍵字在實例化獲取對象時都做了什么?是一道經常出現在前端面試時的問題。如果只是簡單的了解new關鍵字是實例化構造函數獲取對象,是萬萬不能夠的。更深入的層級發生了什么呢?同時面試官想從這道題里面考察什么呢?下面為各位小伙伴一一來解密。

另外,文末有給部分伙伴總結了一些入門的視頻教程,一些伙伴,之前留言要的,你們自己來認領哈!需要更有難度的伙伴,可以再留言!

一、new關鍵字

new關鍵字的作用:通過new關鍵字實例化構造函數,獲取對象。說一千道一萬,不如來段代碼看一看

// 定義構造函數function Person (name, age) {this.name = namethis.age = agethis.say = function () {console.log(`my name is ${this.name}, my age is ${this.age}`)}}// 構造函數的原型屬性和方法定義Person.prototype.color = 'yellow'Person.prototype.sayBye = function () {console.log('Bye!')}// 實例化let p = new Person(cc', 18)console.log(p)// 當前屬性console.log(p.name)// 當前方法p.say()console.log(p.color)// 原型方法p.sayBye()

二、偽代碼演示過程

通過new關鍵字實例化的對象p,具備了構造函數Person中this的屬性:name、age,也具備了構造函數Person的原型prototype的屬性color和方法sayBye。下面我們來通過偽代碼來看看具體的實現過程。

  • 初始化新對象var o = {}
  • 原型的執行,確定對象o的原型鏈o.__proto__ = Person.prototype
  • 綁定this對象為o,傳入參數;執行Person構造函數,進行屬性和方法的賦值操作Person.call(o, 'cc', 18)
  • 返回結果注意:在通過該種方式獲取對象時,最終不一定返回的是對象o,要看構造函數的返回值是什么。如果函數返回的是基本類型值,實際會生成一個對象,返回o 如果是函數返回的是引用類型值,則實際返回的是該引用類型值
  • 給大家總結的一些:Web前端小白入門必看預習視頻https://pan.baidu.com/s/1p_nQb8GBwQ_N_6CqoocEWQ 提取碼:fv71

    最后:伙伴們有不清楚的地方可以留言。更多的前端相關教程也會繼續為大家更新!

    想獲取更多的熱門視頻學習教程:python,人工智能,Java等,可以回復**學科,即可領取!

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的new 实例化对象是啥意思_前端经典面试题解密:JS的new关键字都干了什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。