簡體   English   中英

有人可以為我解釋這些代碼(關於JavaScript和HTML5)嗎?

[英]Could someone explain these codes for me (about JavaScript and HTML5)?

<script>
    window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder;

    Blob.prototype.slice = Blob.prototype.slice || function(start, length) {
        return this.webkitSlice(start, start + length);
    }

</script>

這些代碼來自Chrome擴展程序的背景頁面。 任何想法或提示將不勝感激。

window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder;

這是說設置window.BlobBuilder什么它已經被設置到任何是否被設定為是truthy; 如果當前設置為false,則將其設置為window.WebKitBlobBuilder 這是一種通用的方法,用於為變量賦值(如果尚未具有真實值)。 真實值是任何不是虛假值的東西,而虛假值是

  • null
  • undefined
  • false
  • ''
  • 0
  • NaN

下一行使用類似的語法

Blob.prototype.slice = Blob.prototype.slice || function(start, length) {
    return this.webkitSlice(start, start + length);
}

這將設置slice上功能Blob原型對象要么本身如果當前值是truthy,或者將要使用的功能webkitSlice上定義的函數this (我假定將WebKitBlobBuilder在這種情況下)。

我對皮膚的深刻理解:

window是一個對象,表示瀏覽器中打開的窗口/選項卡。 有關更多信息,請參見w3schools.com中的“ 窗口對象”部分

window.BlobBuilder表示BlobBuilder是對象window的方法,它用於創建blob ,該對象是用於引用Web應用程序中的二進制數據的對象。
http://code.google.com/apis/gears/api_blob.html
http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob

這些行用於定義方法/函數window.BlobBuilderBlob.prototype.slice以便它們與不同的Web瀏覽器兼容,這些瀏覽器可能具有不同的名稱,也可能沒有window.BlobBuilderBlob.prototype.slice名稱。 例如,在Chrome 12或更高版本中, window.WebKitBlobBuilder替換了window.BlobBuilder

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM