h5:
1.web 语义化
Web 语义化是指在进行 html 结构、表现、行为设计时,尽量使用语义化的标签,使程序代码简介明了,易于进行 Web 操作和网站 SEO,方便团队协作的一种标准,以图实现一种 "无障碍" 的 Web 开发。
例如 h5 新增加的 <header> </header> <footer></footer> 等,标签名称自身已经有一定意义了。
JS:
1. 变量提升
- varv='My Gum';
- (function(){
- alert(v);
- varv='No';
- })()
上面代码分解如下:
- varv='My Gum';
- (function(){
- var v;
- alert(v);
- v='No';
- })()
结果输出为 undefined,变量提升指的是变量的声明隐式提升到本身作用域最上面。
2. 原型链
- function MyGum(){}
- varmg =new MyGum();
- mg.__proto__ === MyGum.prototype;
- MyGum.prototype.__proto__ === Function.prototype;
- Function.prototype.__proto__ === Object.prototype;
- Object.prototype.__proto__ ===undefined;
这就是一个完成的原型链,undefined 就是原型链最底端。
3.http 缓存
http 缓存是基于 HTTP 协议的浏览器文件级缓存机制。即针对文件的重复请求情况下,浏览器可以根据协议头判断从服务器端请求文件还是从本地读取文件,chrome 控制台下的 Frames 即展示的是浏览器的 http 文件级缓存。浏览器缓存的整个机制流程:
· 判断 expires,如果未过期,直接读取 http 缓存文件,不发 http 请求,否则进入下一步。
· 判断是否有 etag,有则带上 if-none-match,未修改返回 304,修改返回 200,否则进去下一步。
· 判断是否含有 last-modified,有则带上 if-modified-since 发送请求,无效返回 200,有效返回 304,否则直接向服务器请求。
· 如果通过 etag 和 last-modified 判断,即使返回 304 有至少又一次 http 请求,只不过返回的是 304 的返回内容,而不是文件内容。所以合理设计实现 expires 参数可以减少较多的浏览器请求。
来源: http://www.cnblogs.com/yangmingxiang/p/6705553.html