一、概念
工作线程(webWorker)允许JavaScript创建多个线程,但是子线程完全受主线程控制,且不得操作DOM
1 |
|
1 | // worker.js |
工作线程(webWorker)允许JavaScript创建多个线程,但是子线程完全受主线程控制,且不得操作DOM
1 | <!DOCTYPE html> |
1 | // worker.js |
1 | <html> |
1 | document.addEventListener("webkitfullscreenchange", function () { |
按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。
1 | try_files /app/cache/ $uri @fallback; |
它将检测/app/cache/index.php、/app/cache/index.html、$uri是否存在,如果不存在着内部重定向到@fallback(@表示配置文件中预定义标记点) 。你也可以使用一个文件或者状态码(=404)作为最后一个参数,如果是最后一个参数是文件,那么这个文件必须存在。
对于padding属性而言,任意方向的百分比padding都相对于宽度计算可以让我们轻松实现固定比例的块级容器。
1 | div { padding: 50%; } |
注:
1、图片宽度是100%容器的,padding的15.5%其实就是图片的高宽比例。
2、图片宽度50%容器宽度,图片高宽比4:3,我们也可以这么写
1 | .img-box { |
3、如果没有text-align属性干扰,img的position,及left和top可以不用指定
1 | # 这是注释行,将被忽略 |
border-*-radius属性的值可分别设定水平半径和垂直半径;若省略垂直半径,则垂直半径默认采用水平半径的值。
而每个值,支持的单位有固定长度和百分比。若设置百分比格式,则水平半径的百分比是指边框的宽度,而垂直半径的百分比是指边框的高度。
1 | /*表示圆角的水平半径和垂直半径都为20px长度。*/ |
request对象封装了HTTP请求,我们调用request对象的属性和方法就可以拿到所有HTTP请求的信息;response对象封装了HTTP响应,我们操作response对象的方法,就可以把HTTP响应返回给浏览器。
用Node.js实现一个HTTP服务器程序非常简单。我们来实现一个最简单的Web程序hello.js:
1 | 'use strict'; |
在Node.js中,流也是一个对象,我们只需要响应流的事件就可以了:data事件表示流的数据已经可以读取了,end事件表示这个流已经到末尾了,没有数据可以读取了,error事件表示出错了。
下面是一个从文件流读取文本内容的示例:
1 | 'use strict'; |
要注意,data事件可能会有多次,每次传递的chunk是流的一部分数据。