null和undefined的区别
undefined
undefined是一个表示无的原始值,转为数值时为NaN
变量被声明了,但没有赋值时,就等于undefined调用函数时,应该提供的参数没有提供,该参数等于undefined对象没有赋值的属性,该属性的值为undefined函数没有返回值时,默认返回undefinednull
null是一个表示无的对象,转为数值时为0
作为函数的参数,表示该函数的参数不是对象作为对象原型链的终点
HTML5的离线存储
原理:
HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示使用:
在文档的html标签设置manifest属性,如manifest=/offline.appcache在项目中新建manifest文件,manifest文件的命名建议:xxx.appcache在web服务器配置正确的MIME-type,即text/cache-manifest
上面提到了cookie,这里说一下cookie是什么?
Cookie
第一:每个特定的域名下最多生成20个cookie
1.IE6或更低版本最多20个cookie2.IE7和之后的版本最后可以有50个cookie。3.Firefox最多50个cookie4.chrome和Safari没有做硬性限制第二:cookie的最大大约为字节,为了兼容性,一般不能超过字节
优点:
极高的扩展性和可用性
1.通过良好的编程,控制保存在cookie中的session对象的大小。2.通过加密和安全传输技术(SSL),减少cookie被破解的可能性。3.只在cookie中存放不敏感数据,即使被盗也不会有重大损失。4.控制cookie的生命期,使之不会永远有效。偷盗者很可能拿到一个过期的cookie。缺点:
1.`Cookie`数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。2.安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。3.有些状态不可能保存在客户端。例如,为了防止重复提交表单,我们需要在服务器端保存一个计数器。如果我们把这个计数器保存在客户端,那么它起不到任何作用。box-sizing属性
box-sizing属性主要用来控制元素的盒模型的解析模式。默认值是content-box
content-box:让元素维持W3C的标准盒模型。元素的宽度/高度由border+padding+content的宽度/高度决定,设置width/height属性指的是content部分的宽/高border-box:让元素维持IE传统盒模型(IE6以下版本和IE6~7的怪异模式)。设置width/height属性指的是border+padding+content今天干货分享就到这里。