[英]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.BlobBuilder
和Blob.prototype.slice
以便它們與不同的Web瀏覽器兼容,這些瀏覽器可能具有不同的名稱,也可能沒有window.BlobBuilder
和Blob.prototype.slice
名稱。 例如,在Chrome 12或更高版本中, window.WebKitBlobBuilder
替換了window.BlobBuilder
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.