有人可以为我解释这些代码(关于JavaScript和HTML5)吗?

cha*_*ang 0 javascript html5

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

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

</script>
Run Code Online (Sandbox Code Playgroud)

这些代码来自Chrome扩展程序的后台页面.任何想法或暗示将受到高度赞赏.

Rus*_*Cam 5

window.BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder;
Run Code Online (Sandbox Code Playgroud)

window.BlobBuilder就是设置为已设置的内容,如果它设置为真正的真实; 如果它当前设置为false,则将其设置为window.WebKitBlobBuilder.这是一种通用方法,用于在变量尚未具有真值的情况下为变量赋值.Truthy值是任何不是假值的值,而falsey值是

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

下一行使用类似的语法

Blob.prototype.slice = Blob.prototype.slice || function(start, length) {
    return this.webkitSlice(start, start + length);
}
Run Code Online (Sandbox Code Playgroud)

如果当前值是真实的,slice则将Blob原型对象上的函数设置为自身,或者将函数设置为将使用webkitSlice定义的函数this(我假设将WebKitBlobBuilder在此实例中).