背前端程式設計師面試題:迭代器

語言: CN / TW / HK

背前端程式設計師面試題:迭代器

什麼是迭代器?

根據文件,一個迭代器,是一個物件,支援讓程式設計師來遍歷一個容器,比如說陣列、列表。

什麼是內部迭代器?

內部迭代器是高階函式。這裡的是,表示屬於。是說內部迭代器通是高階函式,而不是說只要是高階函式就是內部迭代器。而且經常是匿名函式。遍歷了容器裡的每個元素,並對其應用一些函式。啥意思?

這就是一個內部迭代器。可以看到,map是高階函式,裡面放了一個匿名函式。

什麼是外部迭代器?

可能是通過修改指標來遍歷容器。也可能有其他的辦法。

什麼是隱式迭代器?

在不引入顯式迭代器物件的情況下遍歷容器物件的元素的一種固有方法。

很難理解。

for...of語句,可以用來迴圈迭代一些內建的字串、陣列或者類似陣列的節點列表,引數,圖,集合和使用者定義的可迭代的資料。

for-of和for-in的區別?

兩個都用來迭代東西,區別在於迭代的內容。

for-in是沒有啥順序的,對可列舉的內容進行迭代。

for-of迭代的是定義的可迭代物件。

for-in把所有的可列舉屬性都輸出了,而且輸出的是欄位名、陣列的索引陣列的下標,還從原型鏈找到了一些修改的原型欄位。而for-of只輸出了特定的可迭代的一個數組,只對可迭代的陣列進行了迭代。

寫不下去了,視訊裡的講了一個個問題,我用程式碼運行了一下,好像現在已經修復了。解構賦值是能夠拿到資料的。學的這個視訊也不算太舊,介面更新速度太快了,一下子就過時了嗎?