new操作符具体都干了什么?一次笔试题遇到的
生活随笔
收集整理的這篇文章主要介紹了
new操作符具体都干了什么?一次笔试题遇到的
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
背景:一個筆試題簡答談到new操作符都干了什么?連續(xù)兩次遇到,總結一下,不然不會的還是不會
new 共經(jīng)過了4個階段:
1.創(chuàng)建一個空對象
2.鏈接到原型
把 obj 的proto 指向構造函數(shù)Func的原型對象 prototype,此時便建立了 obj 對象的原型鏈:
obj->Func.prototype->Object.prototype->null
代碼為:
3.綁定this值(讓Func中的this指向obj,并執(zhí)行Func的函數(shù)體。)
let result = Func.call(obj);4.返回新對象
(判斷Func的返回值類型:
如果無返回值 或者 返回一個非對象值,則將 obj 作為新對象返回;否則會將 result 作為新對象返回。)
?
?
總結
以上是生活随笔為你收集整理的new操作符具体都干了什么?一次笔试题遇到的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vue路由的钩子函数有哪些?都做了哪些事
- 下一篇: 防抖函数的实现