2011-11-10 74 views

回答

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

此說成立window.BlobBuilder什麼它已經被設置到任何是否被設定爲是truthy;如果它現在設置爲falsey,則將其設置爲window.WebKitBlobBuilder。如果它沒有真值,則這是一種通用方法,用於爲變量賦值。 Truthy值是什麼,都沒有falsey值,而falsey值

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

下一行使用類似的語法

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

這設置Blob原型對象上的slice函數要麼本身如果當前值是truthy,或者一個功能,將使用上this定義的webkitSlice函數(其我認爲在這個例子中將是WebKitBlobBuilder)。

1

我膚淺的理解:

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沒有名字兼容。例如,window.WebKitBlobBuilder將取代Chrome 12或更高版本中的window.BlobBuilder

相關問題