乙個陣列長度問題引發的思考

2021-09-26 12:10:55 字數 984 閱讀 1001

var arr = ;

arr[0] = 0;

arr[1] = 1;

arr.foo = 'c';

console.log(arr.length);

為什麼.length不會把foo算進陣列長度?進一步思考為什麼關聯陣列沒有陣列長度?

var arr = ;

arr[5] = 1;

arr.foo = 'c';

console.log(arr.length);

結合這兩個個例子,不難看出,.length貌似是通過陣列最大的下標數字然後+1再輸出陣列長度的,然後我們可以知道陣列裡確實是含有foo這個屬性的且值為c

所以.length到底是個什麼玩意這不是坑我嗎?

回溯w3c陣列物件:

length 屬性可設定或返回陣列中元素的數目。說明

真需要算陣列有多少內容是需要自己封裝乙個函式

不過設定length為0之後陣列的內容會被清空

結合上面說的.length和for……in

腦海裡總是浮現』js一切皆物件』這句話,加上有人說js物件本質是關聯陣列

???關聯陣列建立方式

var arr = 

arr['a'] = 1;

arr['b'] = 2;

console.log(arr);

然後物件建立方式

var arr = {}

'a':1;

'b':2;

console.log(arr);

關聯陣列的本質是物件

回想js裡資料型別

五種基本資料型別(string、number、boolean、null、undefined)

然後就只剩object

乙個陣列作為引數傳遞引發的思考?

乙個陣列作為引數傳遞引發的思考 初學者常犯的錯誤 正文今天給大家分享一下陣列作為引數傳遞時,可能會遇到的坑,接下來上 實現氣泡排序 函式的功能很簡單,呼叫sort 函式對陣列進行排序,讓我們來看看執行結果吧。執行環境x86得到的結果為 執行環境為x64得到的結果為 通過上面的兩個執行結果,有了如下問...

乙個陣列引發的「災難」

國慶後上班,領導要求給乙個模組寫乙個pc測試軟體,功能要求很簡單,讀取配置檔案,然後根據檔案中的資料對模組進行依次定時查詢 設定,加上測試用了三天時間 注 用本人電腦做的測試 最後是發給同事,但在他的電腦都無法執行,雙擊軟體沒有任何反應。需要說明一下 我的電腦是32位的win8系統,64位win7系...

乙個生產問題引發的思考

前言 最近碰到乙個生產問題,整個處理過程讓我不禁想起幾年前碰到的乙個類似情景,但是結果卻完全不一樣。兩次問題說大不大,說小不小。這次由於我們處理及時,大事化小小事化了而已,然而幾年前的那次事件,卻由於多方原因,鬧得挺大,驚動了某會。由此引發的一些思考和總結吧。問題回顧 排查思路 生產出現這種效能問題...