1.sessionStorage 、localStorage 和 cookie ?
相同点:
都用于浏览器端存储的缓存数据;
不同点:
- 存储内容是否发送到服务器端
当设置了Cookie后,数据会发送到服务器端,
造成一定的宽带浪费;xxxstorage则会将数据保存
到本地,不会造成宽带浪费;
- 数据存储大小不同
Cookie数据不能超过4K,适用于会话标识;
xxxstorage数据存储可以达到5M;
- 数据存储的有效期限不同
cookie只在设置了Cookid过期时间
之前一直有效,即使关闭窗口或者浏览器;
sessionStorage,仅在关闭浏览器之前有效;
localStorage,数据存储永久有效;
- 作用域不同
cookie和localStorage是在同源同窗口中
都是共享的;
sessionStorage不在不同的浏览器窗口
中共享,即使是同一个页面;
2. px和em的区别?
px和em都是长度单位;
区别是:
px的值是固定的,指定是多少就是多少,
计算比较容易。
em得值不是固定的,并且em会继承父级元素的字体大小。
浏览器的默认字体高都是16px;
所以未经调整的浏览器都符合: 1em=16px;
那么12px=0.75em, 10px=0.625em
3. 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
伪数组(类数组):
无法直接调用数组方法,
length属性有什么特殊的行为,
但仍可以对真正数组遍历方法来遍历它们。
典型的是函数的argument参数,还有像调
getElementsByTagName,
document.childNodes之类的,
它们都返回NodeList对象, 这些都属于伪数组。
可以使用Array.prototype.slice.call(fArray)将数组
转化为真正的Array对象。