日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

new操作符具体都干了什么?一次笔试题遇到的

發布時間:2023/12/2 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 new操作符具体都干了什么?一次笔试题遇到的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:一個筆試題簡答談到new操作符都干了什么?連續兩次遇到,總結一下,不然不會的還是不會

new 共經過了4個階段:
1.創建一個空對象

let obj = new Object();

2.鏈接到原型

把 obj 的proto 指向構造函數Func的原型對象 prototype,此時便建立了 obj 對象的原型鏈:
obj->Func.prototype->Object.prototype->null
代碼為:

obj.__proto__ = Func.prototype;

3.綁定this值(讓Func中的this指向obj,并執行Func的函數體。)

let result = Func.call(obj);

4.返回新對象
(判斷Func的返回值類型:
如果無返回值 或者 返回一個非對象值,則將 obj 作為新對象返回;否則會將 result 作為新對象返回。)

if (typeof(result) == "object"){func=result; } else{func=obj; }



?

?

總結

以上是生活随笔為你收集整理的new操作符具体都干了什么?一次笔试题遇到的的全部內容,希望文章能夠幫你解決所遇到的問題。

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