Web Worker 的作用,就是为 JavaScript 创造多线程环境,允许主线程创建 Worker 线程,将一些任务分配给后者运行。在主线程运行的同时,Worker 线程在后台运行,两者互不干扰。等到 Worker 线程完成计算任务,再把结果返回给主线程。这样的好处是,一些计算密集型或高延迟的任务可以交由 Worker 线程执行,主线程(通常负责 UI 交互)能够保持流畅,不会被阻塞或拖慢。
ArrayBuffer 对象表示一段二进制数据,用来模拟内存里面的数据。通过这个对象,JavaScript 可以读写二进制数据。这个对象可以看作内存数据的表达。Blob 对象表示一个二进制文件的数据内容,比如一个图片文件的内容就可以通过 Blob 对象读写。它通常用来读写文件,它的名字是 Binary Large Object (二进制大型对象)的缩写。它与 ArrayBuffer 的区别在于,它用于操作二进制文件,而 ArrayBuffer 用于操作内存。
关于 <uses-feature> 和 <uses-permisstion> 的自我理解,声明一项应用程序需要用到的软、硬件特性。
面向对象编程很重要的一个方面,就是对象的继承。A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法。这对于代码的复用是非常有用的。大部分面向对象的编程语言,都是通过“类”(class)实现对象的继承。传统上,JavaScript 语言的继承不通过 class,而是通过“原型对象”(prototype)实现,本章介绍 JavaScript 的原型链继承。
window.navigator 属性指向一个包含浏览器和系统信息的 Navigator 对象。脚本通过这个属性了解用户的环境信息。
拖拉(drag)指的是,用户在某个对象上按下鼠标键不放,拖动它到另一个位置,然后释放鼠标键,将该对象放在那里。拖拉的对象有好几种,包括元素节点、图片、链接、选中的文字等等。在网页中,除了元素节点默认不可以拖拉,其他(图片、链接、选中的文字)都是可以直接拖拉的。为了让元素节点可拖拉,可以将该节点的 draggable 属性设为 true 。
程序员在 Java 编程中比较容易犯的十个错误,例如:Array 转 ArrayList,检测一个 Array 是否包含一个元素,在一个循环中移除 list 中的元素,Hashtable 与 HashMap 等内容。
Android 系统要求所有的程序经过数字签名才能安装,如果没有可用的数字签名,系统将不许安装运行此程序,不管是模拟器还是真实手机。为了方便我们开发调试程序,ADT 会自动的使用 debug 密钥为应用程序签名。debug 密钥?它在哪?
HTMLElement、Document 和 Window 都继承了这个接口,也就是说,各种 HTML 元素、document 对象、window 对象上面都可以使用GlobalEventHandlers 接口提供的属性。下面就列出这个接口提供的主要的事件属性。
URL 是互联网的基础设施之一。浏览器提供了一些原生对象,用来管理 URL。Location 对象,URL 对象,URLSearchParams 对象。