為什麼《JavaScript 高階程式設計》第 4 版的「引用型別」不包含 Function 型別?

時間 2021-05-29 23:04:16

1樓:方應杭

因為新版的第10章單獨講了函式,代替了舊版的第 7 章函式表示式。

沒必要新舊對比。

JS 裡面所有的物件(包含類、陣列、函式等等等等)都屬於引用型別。

JS 的資料型別只有 8 種:

基本型別7種:null undefined string bool number symbol bigint(全都不區分大小寫)

複雜型別只有1種:object,也是唯一的引用型別中文第三版的Date型別、Function型別都有誤導之嫌疑,因為並不存在這兩種型別,他們只是類,不是資料型別。

另:JS 中沒有「一切皆物件」這一說法,至少 null 和 undefined 是無論如何不能當作物件使用的,請停止傳播這一錯誤說法。

2樓:道可道非常道

這東西不要學得太死,Function型別當然是引用型別,它沒列出來的東西多著呢。js中一切皆物件,物件就是乙個引用型別的值。除了那幾個基本型別基本上都是引用型別。

字串、數字、布林值這些,表面上是乙個基本型別,但是你在呼叫屬性或者方法時,會包裝成物件。比如"hello".length,因為只有物件才有屬性,基本型別只是乙個字面量,沒有屬性。

所以這個時候會把"hello"包裝成乙個物件使用,呼叫完後,再銷毀。至於為什麼這樣設計,大概是因為基本型別比較常用,減少記憶體占用吧。

總之,一切皆物件!引用型別的變數就是儲存物件的乙個指標。

《JavaScript高階程式設計》閱讀筆記 02在HTML中使用JavaScript

正好相反,老公屬於啥事都操心的 我屬於啥都不管只哼哼的 剛結婚的時候,我也想管,後來發現兩個人已經老不一致,老公屬於大男子主義爆棚的,就吵架,後來索性就不管了 聽話就行 發現真舒服 生活 從談戀愛算起在一起7年了,最早以前出去吃飯 旅遊,節假日他都會提前想,然後問我有沒有什麼意見,後來他是從來不想不...

為什麼JavaScript裡面typeof null 的值是 object ?

自由的囚徒 這是JS語言本身的乙個bug。不同的物件在底層都表示為二進位制,在js中二進位制前三位都為0的話會被判斷為object型別,null的二進位制表示全是0,自然前三位也是0,所以執行typeof時返回 object 阿布丁 說句人話,不說書裡的鬼話 因為 所有引用型別的名字是乙個指標,指的...

你為什麼選擇 JavaScript ?

牆外一枝花 多年前,面試的時候,一邊是三年.net 給你6k,一邊是3個月js也是6k,所以沒那麼多為什麼,最初的選擇源於人性的最基本訴求,溫飽。 題葉 最開始上網,沒人教程式設計,我唯一能折騰的東西只有瀏覽器,高中用 GreenBrowser 替換了 IE 自以為很開心,後來知道 Opera,最後...