類型化視圖通常也被認爲是一種類型化數組.數組
由於其元素必須是某種特定的數據類型,類型化視圖都繼承自 Dataview函數
與上面同名的構造函數都支持三個參數:spa
返回一個類型化視圖實例繼承
此外上面的每一個構造函數都有一個 BYTES_PER_ELEMENT屬性,用於表示類型化數組的每個元素須要多少字節.索引
如 Int8Array 的 BYTES_PER_ELEMENT 則爲1ip
並且若是傳入的第一個參數的爲一個數值 那麼構造函數會返回一個可以保存該數值個數元素的類型化數組基礎
傳入的若是是一個普通的數組,那麼構造函數則會將該普通數組轉爲一個類型化視圖構造函數
PS:若是傳入的值大於對應的字節數,那麼保存的值將是該值與當前大小最大值的模數據類型
例如想在16位無符號整數中保存 65537(最大能保存65535),那麼實際保存的值將是1二進制
使用類型化數組時能夠經過和普通數組相似的中括號的方式來迭代數組;
類型化數組還擁有一個方法 subarray()
該方法接收兩個參數
會返回一個基於當前類型視圖的子視圖
爲何這一篇文章和上一篇文章看起來和WebGl沒有什麼關係可是卻要仔細介紹呢?
由於WebGL中的着色器編寫語言是 GLSL
這種語言是一種類C語言,因此當咱們使用WebGL時須要將JavaScript中的"萬物皆可放"的數組轉爲某種單純的數組格式才能傳入着色器進行相應操做
因此類型化數組\視圖是WebGL中的基礎操做