av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - 這不是對象字面量函數嗎?為什么要new初始化?

瀏覽:81日期:2023-03-12 18:43:43

問題描述

javascript - 這不是對象字面量函數嗎?為什么要new初始化?

javascript - 這不是對象字面量函數嗎?為什么要new初始化?

我記得這個不是構造函數啊,為什么this、new這些都跟構造函數用法一樣?

問題解答

回答1:

javascript 中的任何函數只要用 new 關鍵字調用,它都可以被稱作 構造函數。

當使用 new 關鍵字調用函數時,函數內部會隱式地聲明一個對象,然后把這個對象賦給 this,最后再隱式地返回 this. 使用 new 關鍵字調用樓主的 book 方法時,就相當于以下過程。

function Book(id, bookname){ var o = new Object(); o.id = id; o.bookname = bookname; return o;}var b = Book(123,’javascript高級程序設計’);

這里的 o 其實就是我們平時看到的 this 對象。

回答2:

javascript 里面沒有類,也沒有構造函數。

function Book (){}// Book 是一個函數typeof Book'function'// Book 是 FunctionBook instanceof Functiontrue// Book 是 ObjectBook instanceof Objecttrue

使用 new 可以創建對象

var book = new Book()// book 是一個對象typeof book'object'// book 不是 Function 的實例book instanceof Functionfalse// book 是 Object 的實例book instanceof Objecttrue// book 是 Book 的實例book instanceof Booktrue

雖然 js 中沒有構造函數,但是 MDN 文檔中也使用了這個詞:https://developer.mozilla.org...

當代碼 new foo(...) 執行時:

一個新對象被創建。它繼承自 foo.prototype.

構造函數 foo 被執行。執行的時候,相應的傳參會被傳入,同時上下文(this)會被指定為這個新實例。new foo 等同于 new foo(), 只能用在不傳遞任何參數的情況。

如果構造函數返回了一個“對象”,那么這個對象會取代整個new出來的結果。如果構造函數沒有返回對象,那么new出來的結果為步驟1創建的對象,ps:一般情況下構造函數不返回任何值,不過用戶如果想覆蓋這個返回值,可以自己選擇返回一個普通對象來覆蓋。當然,返回數組也會覆蓋,因為數組也是對象。

即使 ES6 增加了類,也只是語法糖:

class Book{}typeof Book'function'回答3:

你理解錯了構造函數的概念。

實際上,js里不應該有‘構造函數’這一說,而應該理解為函數的構造方法。意思是,任何函數都可以拿來new一個,任何函數都可以叫做‘構造函數’。你在寫所謂‘構造函數’的時候,有發現它和普通函數有什么區別嗎,并沒有吧,他們就是普通函數。

以上,es6箭頭函數除外。

回答4:

js里面每個函數都是相當于一個構造函數(除了真ES6箭頭函數)。哎,神奇的js!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产一级一片免费播放放a 免费国产视频 | 欧美a级成人淫片免费看 | 午夜精品在线 | 亚洲国产精品av | 日韩一区二区三区在线 | 羞羞的视频网站 | 青青伊人网| 午夜视频在线看 | 秋霞福利视频 | 国产精品久久久久久久久久辛辛 | 深夜福利视频在线观看 | 国产综合视频 | 中文字幕在线观看网址 | 亚洲视频在线视频 | 一区二区日韩 | 免费网站观看www在线观 | 成人在线观看视频网站 | 免费国产精品视频 | 久久精品视频国产 | 精品国产一区二区三区久久久蜜月 | 五月婷婷在线观看 | 福利视频导航大全 | 夜夜精品视频 | 亚洲激情文学 | 国产午夜免费视频 | 黄色免费网站视频 | 欧美啪啪网站 | 免费观看成人 | 99久久精品国产亚洲 | 91中文在线 | 国产a区 | 日韩精品视频在线播放 | 欧洲av在线 | 日韩国产在线播放 | 国产农村妇女aaaaa视频 | 国产精品乱码一区二区视频 | 三级黄色片免费看 | 久久精品av| 日韩伦理在线播放 | 羞羞的网站 | 亚洲午夜精品一区二区三区 |