当前位置:首页 » 网页前端 » webstorageapi
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

webstorageapi

发布时间: 2022-10-04 11:22:44

① 怎么判断浏览器是否支持localstorage

localStorage作为HTML5本地存储web storage特性的API之一,主要作用是将数据保存在客户端中,而客户端一般是指上海网站设计用户的计算机。在移动设备上,由于大部分浏览器都支持web storage特性,因此在android和ios等智能手机上的web浏览器都能正常使用该特性。
localStorage保存的数据,一般情况下是永久保存的,也就是说只要采用localstorage保存信息,数据便一直存储在用户的客户端中。即使用户关闭当前web浏览器后重新启动,数据让然存在。知道用户或程序明确制定删除,数据的生命周期才会结束。

在安全性方面,localstorage是域内安全的,即localstorage是基于域的。任何在该域内的所有页面,都可以访问localstorage数据。但让然存在一个问题,就是各个浏览器厂商的浏览器之间的数据是各自独立的。也就是说,如果在firefox中使用localstorage存储一组数据,在chrome浏览器下是无法读取的。同样,由于localstorage数据是保存在用户的设备中的,因此同一个应用程序在不同设备上保存的数据是不同的。

(望楼主采纳哦)

② Cookie 和 Storage API 区别与详解

它们都是浏览器数据存储的方案,是用于解决 数据持久化 的问题。除此之外,数据也可以存储在内存中(比如挂载到 window 等全局对象下),但这种方式每当页面刷新就会丢失。

下面分别从几个方面,详细地介绍 Cookie 、 sessionStorage 、 localStorage 的区别。

请注意,其中 Cookie 的空间大小指的是 name 、 value 以及 = 号。

另外,这三个不同浏览器下可能会有细微的差异,可忽略。

下表为网上收集(非当前实测结论),看一眼知道有限制这回事就好。

鉴于各浏览器对 Cookie 的空间、数量限制不完全相同,为了较好地兼容,建议如下:

没错,面试官问到这么说吧,应该就 OK 了。

另外,与超出空间限制不同的是,超出数量限制之后,是可以继续添加 Cookie 的,但不同浏览器有不同的策略:一些是替换掉最先(老)的 Cookie ,有些则是随机替换。作简单了解就好,一般项目不会设那么多的,而且 Cookie 过期浏览器是会自动清除的。

这块内容比较多...

铺垫 - 了解同源和同站的区别

区别如下:

铺垫 - 顶级域名和二级域名的认知

关于顶级域名、二级域名,也有很多认知问题。

在国内,很多资料认为,顶级域和一级域是分开的。比如 ..com ,如果按照这种方式划分,那么 .com 是顶级域名, ..com 就是一级域名。好像阿里云就是这样定义的。

而我更偏向于认为, ..com 属于二级域名。不用过分纠结,在团队内统一即可。

eTLD (Top-Level Domains)表示有效顶级域名,那么 eTLD + 1 就表示二级域名。例如:

其中 eTLD 是 .com.cn ,那么 eTLD + 1 就是 .example.com.cn 。关于 eTLD 更多请看 这里 。

铺垫 - 区分同源和同站

先看下,完整的 URL(网址)构成如下:

简单来说,只要二级域名相同,就属于同站。同源则要求更严格。因此同源一定同站,反之则不一定。

以下例子,同站,但不同源。

正题 - 三者的作用域

理解这些很重要,为什么这么说呢?

拓展 - 作用域引发的问题

很多公司,不是每个 Web 项目对应一个三级域名。

这些都很常见,那么问题来了。它们很多都是同源、同站的。假设按小项目划分场景,我在 a 项目中设置了一个 sessionStorage 会话级缓存,那么当前从 a 项目跳转至 b 项目时, b 是可以获取到 a 项目的所有 sessionStorage 的,反之也成立。如果 a 和 b 项目中某个 sessionStorage 的 key 不小心设置成相同的话,那很可能就会影响到对方。 localStorage 同理。至于 Cookie 的话,由于它的空间限制最大只允许 4K,因此不适宜存过多数据,一般会存一些像鉴权信息等比较多。同个公司,业务的用户鉴权等是相似的,所以 Cookie 的访问机制也不会有太大的影响。

针对这些问题,建议是非必要的话,将数据存在内存中,比如用 Vuex、Rex、MobX 等状态管理工具来维护应用的状态。一是信息更不容易暴露,而是可以减少 IO 的读写。但是,这样的话,就要解决数据持久化的问题,因为在内存中的话,只要刷新页面就会丢失。怎么解决?

以 Rex 为例,在创建 Store 时,是可以传入一个初始状态的,它的值取下面这个会话缓存即可。只要监听到状态发生变化变化,并设置或更新 sessionStorage 级别的缓存,将状态缓存起来即可。比如:

注意 - sessionStorage 鲜为人知的点(冷门)

下面例子,均在同源情况下。假设有两个同源页面: A 页面、B 页面对应 URL 为 page_a_url 、 page_b_url 。

示例一:

示例二:将上述第二步改成下面这样:

结果又是什么呢?直接看下结果:

结论:

总结 - 作用域

sessionStorage 和 localStorage 不会主动参与与服务器的通信。

Cookie 是保存在浏览器上的一小型文本文件。在每次与服务器的通信中都会携带在 HTTP 请求头之中。

Q1:storage 事件的迷惑行为

首先,注册 storage 事件监听器,它 只能 监听 其他同源页面 的缓存 发生改变 时,它才会被触发。

得出几个结论:

Q2:当 localStorage 超过 5M 的空间限制之后,若再次 setItem 会怎样?

答案显而易见,这次 setItem() 将会失败,且会抛出错误。针对这种情况,可以做一些处理,比如清空再重新记录等...

Q3:在 Safari 无痕模式下,对 sessionStorage 操作可能会抛出异常

请看这个帖子: html5 localStorage error with Safari: "QUOTA_EXCEEDED_ERR: DOM Exception 22: An attempt was made to add something to storage that exceeded the quota."

Q4:sessionStorage 在 iframe 的问题

前面提到顶级窗口和 iframe 窗口的页面都是同源的情况下,sessionStorage 是可共享的。但不完全是,比如受 iframe 的 sandbox 属性影响,分为两种情况:

假设两个页面同源;情况一 sessionStorage 不共享,在 iframe 中是一个全新的 sessionStorage 对象。情况二则共享 sessionStorage 。

③ HTML5的心功能

html5实际上是一种编程语言,不过是网页上的。由于html5还在开发中,所以还不完善。比如说可以看网页视频什么的。

摘自维基
HTML5是HTML下一个主要的修订版本,现在仍处于发展阶段。目标是取代1999年所制定的HTML 4.01和XHTML 1.0 标准,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。

④ HTLM5标准是什么

HTML 5是HTML下一个的主要修订版本,现在仍处于发展阶段。目标是取代1999年所定订的HTML 4.01和XHTML 1.0 标准,以期能在互联网应用迅速发展的时候,使网络标准达到符合当代的网络需求。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。

新标记

HTML 5提供了一些新的元素和属性,反映典型的现代用法网站。其中有些是技术上类似<div>和<span>标签,但有一定含义,例如<nav>(网站导航块)和<footer>。这种标签将有利于搜索引擎的索引整理、小屏幕装置和视障人士使用。同时为其他浏览要素提供了新的功能,通过一个标准接口,如<audio>和<video>标记。[3]
一些过时的HTML 4标记将取消,其中包括纯粹用作显示效果的标记,如<font>和<center>,因为它们已经被CSS取代。还有一些透过DOM的网络行为。

新应用程序接口(API)

除了原先的DOM接口,HTML5增加了更多样化的API[4]:
即时二维绘图
Convas API:有关动态产出与渲染图形、图表、图像和动画的API。
定时媒体播放
HTML5 音频与视频:HTML5里新增的元素,它们为开发者提供了一套通用的、整合的、脚本式的处理音频与视频的API,而无需安装任何插件。
储存
Web Storage API:HTML5 Web存储(也就是 DOMStorage),该API令在多个Web请求间持久化资料变得简单。
离线
编辑
拖放
通讯/网络
Communication APIs:构建实时和跨源(cross-origin)通讯的两大基础: 跨文档通讯(Cross Document Messaging)与 XMLHttpRequest Level 2。
后退按钮管理
MIME和协议处理程序时表头登记
Geolocation API:使用者可共享地理位置,并在Web应用的协助下享用位置感知服务(location-aware services)。
Web Sockets API:定义全双工传输的通讯通道,它在Web之上通过单个Sockets进行工作。
WebSocket是HTML5中非常重要的新特性,允许使用者在浏览器中实作双向通信,以达服务器得以实作对映的资料即时推送技术,这个技术的意义在于我们可以通过网页实作以往难以达成的应用。使用者不再需要频繁的更新页面以获取新资料,新资料会自动由服务器端推送至使用者的电脑画面上。
Web Workers API:为Web应用提供后台处理的能力。

与HTML 4的不同之处

以下为大略的不同之处,与例子:
新的解析顺序:不再基于SGML
新的元素:section, video, progress, nav, meter, time, aside, canvas, command, datalist, details, embed, figcaption, figure, footer, header, hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr
input元素的新属性:日期和时间,email, url
新的通用属性:ping(用于a与area), charset(用于meta), async(用于script)
全域属性:id, tabindex, repeat
移除元素:acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, s, strike, tt, u

异常处理

HTML5(text/html)浏览器将在错误语法的处理上更加灵活。HTML5在设计时保证旧的浏览器能够安全地忽略掉新的HTML5代码。与HTML4.01相比,HTML5给出了解析的详细规则,力图让不同的浏览器即使在发生语法错误时也能返回相同的结果。

⑤ localstorage怎么设置过期时间

1、local storage没有过期时间的功能,应该是指sessionStorage,
2、sessionStorage与localStorage 同属 webstorage 规范,API 一致不过是带有生命周期的,其生命周期 以页面 session 为界(不能自己设置过期时间)。
3、只要浏览器保持打开,页面刷新和重载都会保持 sessionStorage 内容,关闭的时候清除。新建标签页和新建窗口则属于新的 session。

⑥ html5 web storage和cookie的区别

1、存储大小不同
webStorage存储大小有限制,可达5M或更大;cookie存储数据不能超过4K

2、数据有效期不同
webStorage始终有效,窗口或浏览器关闭也一直保存;cookie只有设置的cookie过期时间之前一直有效

3、事件通知机制
webStorage支持事件通知机制,而cookie则不支持

4、API接口
webStorage自带一些API接口,可以调用,而cookie没有

⑦ cookie,sessionStorage localStorage之间的区别和使用

1.cookie:存储在用户本地终端上的数据。有时也用cookies,指某些网站为了辨别用户身份,进行session跟踪而存储在本地终端上的数据,通常经过加密。一般应用最典型的案列就是判断注册用户是否已经登过该网站。
2.HTML5 提供了两种在客户端存储数据的新方法:..两者都是仅在客户端(即浏览器)中保存,不参与和服务器的通信;
localStorage - 没有时间限制的数据存储,第二天、第二周或下一年之后,数据依然可用。
如何创建和访问 localStorage:
<script type="text/javascript">
localStorage.lastname="Smith";
document.write(localStorage.lastname);
</script>
下面的例子对用户访问页面的次数进行计数:
复制代码
复制代码
<script type="text/javascript">
if (localStorage.pagecount){
localStorage.pagecount=Number(localStorage.pagecount) +1;
}
else{
localStorage.pagecount=1;
}
document.write("Visits "+ localStorage.pagecount + " time(s).");
</script>
复制代码
复制代码
sessionStorage - 针对一个 session 的数据存储,当用户关闭浏览器窗口后,数据会被删除。
创建并访问一个 sessionStorage:
<script type="text/javascript">
sessionStorage.lastname="Smith";
document.write(sessionStorage.lastname);
</script>
下面的例子对用户在当前 session 中访问页面的次数进行计数:
复制代码
复制代码
<script type="text/javascript">
if (sessionStorage.pagecount){
sessionStorage.pagecount=Number(sessionStorage.pagecount) +1;
}
else{
sessionStorage.pagecount=1;
}
document.write("Visits "+sessionStorage.pagecount+" time(s) this session.");
</script>
复制代码
复制代码
sessionStorage 、localStorage 和 cookie 之间的区别
共同点:都是保存在浏览器端,且同源的。
区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递;cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。
而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。
数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。

⑧ Web前端岗位面试题有哪些

前端面试题汇总,基本上会有四大类问题,具体如下:
一、HTML

1、Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

2、HTML5 为什么只需要写 <!DOCTYPE HTML>?
3、行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
4、页面导入样式时,使用link和@import有什么区别?
5、介绍一下你对浏览器内核的理解?
6、常见的浏览器内核有哪些?
7、html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?
8、简述一下你对HTML语义化的理解?
9、HTML5的离线储存怎么使用,工作原理能不能解释一下?
10、浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?
11、请描述一下 cookies,sessionStorage 和 localStorage 的区别?
12、iframe有那些缺点?
13、Label的作用是什么?是怎么用的?(加 for 或 包裹)
14、HTML5的form如何关闭自动完成功能?
15、如何实现浏览器内多个标签页之间的通信? (阿里)
16、webSocket如何兼容低浏览器?(阿里)
17、页面可见性(Page Visibility)API 可以有哪些用途?
18、如何在页面上实现一个圆形的可点击区域?
19、实现不使用 border 画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。
20、网页验证码是干嘛的,是为了解决什么安全问题?
21、tite与h1的区别、b与strong的区别、i与em的区别?

二、css

1、介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?

2、CSS选择符有哪些?哪些属性可以继承?
3、CSS优先级算法如何计算?
4、CSS3新增伪类有那些?
5、如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?
6、display有哪些值?说明他们的作用。
7、position的值relative和absolute定位原点是?
8、CSS3有哪些新特性?
9、请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?
10、用纯CSS创建一个三角形的原理是什么?

11、一个满屏 品 字布局 如何设计?

三、常见兼容性问题?


  1. 1、li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?
    2、经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ?
    3、为什么要初始化CSS样式。
    4、absolute的containing block计算方式跟正常流有什么不同?
    5、CSS里的visibility属性有个collapse属性值是干嘛用的?在不同浏览器下以后什么区别?
    6、position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?
    7、对BFC规范(块级格式化上下文:block formatting context)的理解?
    8、CSS权重优先级是如何计算的?
    9、请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式
    10、移动端的布局用过媒体查询吗?
    11、使用 CSS 预处理器吗?喜欢那个?
    12、CSS优化、提高性能的方法有哪些?
    13、浏览器是怎样解析CSS选择器的?
    14、在网页中的应该使用奇数还是偶数的字体?为什么呢?
    15、margin和padding分别适合什么场景使用?
    16、抽离样式模块怎么写,说出思路,有无实践经验?[阿里航旅的面试题]
    17、元素竖向的百分比设定是相对于容器的高度吗?
    18、全屏滚动的原理是什么?用到了CSS的那些属性?
    19、什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?
    20、视差滚动效果,如何给每页做不同的动画?(回到顶部,向下滑动要再次出现,和只出现一次分别怎么做?)
    21、::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用。
    22、如何修改chrome记住密码后自动填充表单的黄色背景 ?
    23、你对line-height是如何理解的?
    24、设置元素浮动后,该元素的display值是多少?(自动变成display:block)
    25、怎么让Chrome支持小于12px 的文字?
    26、让页面里的字体变清晰,变细用CSS怎么做?(-webkit-font-smoothing: antialiased;)
    27、font-style属性可以让它赋值为“oblique” oblique是什么意思?
    28、position:fixed;在android下无效怎么处理?
    29、如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里)
    30、display:inline-block 什么时候会显示间隙?(携程)
    31、overflow: scroll时不能平滑滚动的问题怎么处理?
    32、有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。
    33、png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?
    34、什么是Cookie 隔离?(或者说:请求资源的时候不要让它带cookie怎么做)
    35、style标签写在body后与body前有什么区别?

    四、JavaScript

    1、介绍JavaScript的基本数据类型。
    2、说说写JavaScript的基本规范?
    3、JavaScript原型,原型链 ? 有什么特点?
    4、JavaScript有几种类型的值?(堆:原始数据类型和 栈:引用数据类型),你能画一下他们的内存图吗?
    5、Javascript如何实现继承?
    6、Javascript创建对象的几种方式?
    7、Javascript作用链域?
    8、谈谈This对象的理解。
    9、eval是做什么的?
    10、什么是window对象? 什么是document对象?
    11、null,undefined的区别?
    12、写一个通用的事件侦听器函数(机试题)。
    13、[“1”, “2”, “3”].map(parseInt) 答案是多少?
    14、关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?
    15、什么是闭包(closure),为什么要用它?
    16、javascript 代码中的”use strict”;是什么意思 ? 使用它区别是什么?
    17、如何判断一个对象是否属于某个类?
    18、new操作符具体干了什么呢?
    19、用原生JavaScript的实现过什么功能吗?
    20、Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?
    21、对JSON的了解?
    22、[].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解释一下这段代码的意思吗?
    23、js延迟加载的方式有哪些?
    24、Ajax 是什么? 如何创建一个Ajax?
    25、同步和异步的区别?
    26、如何解决跨域问题?
    27、页面编码和被请求的资源编码如果不一致如何处理?
    28、模块化开发怎么做?
    29、AMD(Moles/Asynchronous-Definition)、CMD(Common Mole

    Definition)规范区别?
    30、requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)
    31、让你自己设计实现一个requireJS,你会怎么做?
    32、谈一谈你对ECMAScript6的了解?
    33、ECMAScript6 怎么写class么,为什么会出现class这种东西?
    34、异步加载的方式有哪些?
    35、documen.write和 innerHTML的区别?
    36、DOM操作——怎样添加、移除、移动、复制、创建和查找节点?
    37、.call() 和 .apply() 的含义和区别?
    38、数组和对象有哪些原生方法,列举一下?
    39、JS 怎么实现一个类。怎么实例化这个类
    40、JavaScript中的作用域与变量声明提升?
    41、如何编写高性能的Javascript?
    42、那些操作会造成内存泄漏?
    43、JQuery的源码看过吗?能不能简单概况一下它的实现原理?
    44、jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?
    45、jquery中如何将数组转化为json字符串,然后再转化回来?
    46、jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?
    47、jquery.extend 与 jquery.fn.extend的区别?
    48、jQuery 的队列是如何实现的?队列可以用在哪些地方?
    49、谈一下Jquery中的bind(),live(),delegate(),on()的区别?
    50、JQuery一个对象可以同时绑定多个事件,这是如何实现的?
    51、是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?
    52、jQuery 是通过哪个方法和 Sizzle 选择器结合的?(jQuery.fn.find()进入Sizzle)
    53、针对 jQuery性能的优化方法?
    54、Jquery与jQuery UI有啥区别?
    55、JQuery的源码看过吗?能不能简单说一下它的实现原理?
    56、jquery 中如何将数组转化为json字符串,然后再转化回来?
    57、jQuery和Zepto的区别?各自的使用场景?
    58、针对 jQuery 的优化方法?
    59、Zepto的点透问题如何解决?
    60、jQueryUI如何自定义组件?
    61、需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?
    62、如何判断当前脚本运行在浏览器还是node环境中?(阿里)
    63、移动端最小触控区域是多大?
    64、jQuery 的 slideUp动画 ,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,该如何处理呢?
    65、把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?
    66、移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms 延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)
    67、知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能讲出他们各自的优点和缺点么?
    68、Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法?
    69、解释JavaScript中的作用域与变量声明提升?
    70、那些操作会造成内存泄漏?
    71、JQuery一个对象可以同时绑定多个事件,这是如何实现的?
    72、Node.js的适用场景?
    (如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?
    73、解释一下 Backbone 的 MVC 实现方式?
    74、什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点?
    75、知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?
    76、如何测试前端代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
    77、前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?
    78、简述一下 Handlebars 的基本用法?
    79、简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?
    80、用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)
    检测浏览器版本版本有哪些方式?
    81、我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获

⑨ 怎么通过代码实现seesionstorage和localstorage的切换

sessionStorage 和 localStorage 是HTML5 Web Storage API 提供的,可以方便的在web请求之间保存数据。有了本地数据,就可以避免数据在浏览器和服务器间不必要地来回传递。 sessionStorage、localStorage、cookie都是在浏览器端存储的数据,其中sessionStorage的概念很特别,引入了一个“浏览器窗口”的概念。sessionStorage是在同源的同窗口(或tab)中,始终存在的数据。也就是说只要这个浏览器窗口没有关闭,即使刷新页面或进入同源另一页面,数据仍然存在。关闭窗口后,sessionStorage即被销毁。同时“独立”打开的不同窗口,即使是同一页面,sessionStorage对象也是不同的。 Web Storage带来的好处:减少中国络流量:一旦数据保存在本地后,就可以避免再向服务器请求数据,因此减少不必要的数据请求,减少数据在浏览器和服务器间不必要地来回传递。快速显示数据:性能好,从本地读数据比通过中国络从服务器获得数据快得多,本地数据可以即时获得。再加上中国页本身也可以有缓存,因此整个页面和数据都在本地的话,可以立即显示。临时存储:很多时候数据只需要在用户浏览一组页面期间使用,关闭窗口后数据就可以丢弃了,这种情况使用sessionStorage非常方便。 浏览器本地存储与服务器端存储之间的区别其实数据既可以在浏览器本地存储,也可以在服务器端存储。 浏览器端可以保存一些数据,需要的时候直接从本地获取,sessionStorage、localStorage和cookie都由浏览器存储在本地的数据。 服务器端也可以保存所有用户的所有数据,但需要的时候浏览器要向服务器请求数据。一.服务器端可以保存用户的持久数据,如数据库和云存储将用户的大量数据保存在服务器端。二.服务器端也可以保存用户的临时会话数据。服务器端的session机制,如jsp的 session 对象,数据保存在服务器上。实现上,服务器和浏览器之间仅需传递session id即可,服务器根据session id找到对应用户的session对象。会话数据仅在一段时间内有效,这个时间就是server端设置的session有效期。 服务器端保存所有的用户的数据,所以服务器端的开销较大,而浏览器端保存则把不同用户需要的数据分布保存在用户各自的浏览器中。浏览器端一般只用来存储小数据,而服务器可以存储大数据或小数据。服务器存储数据安全一些,浏览器只适合存储一般数据。 sessionStorage 、localStorage 和 cookie 之间的区别 共同点:都是保存在浏览器端,且同源的。区别:cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。存储大小限制也不同,cookie数据不能超过四k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage 虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大。数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage 在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的。Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。 sessionStorage 和 localStorage 之间的区别见上面的区别三、四 sessionStorage与页面 js 数据对象的区别页面中一般的 js 对象或数据的生存期是仅在当前页面有效,因此刷新页面或转到另一页面这样的重新加载页面的情况,数据就不存在了。而sessionStorage 只要同源的同窗口(或tab)中,刷新页面或进入同源的不同页面,数据始终存在。也就是说只要这个浏览器窗口没有关闭,加载新页面或重新加载,数据仍然存在。 cookie,容量四kb,默认各种浏览器都支持,缺陷就是每次请求,浏览器都会把本机存的cookies发送到服务器,无形中浪费带宽。 userdata,只有ie支持,单个容量陆四kb,每个域名最多可存一0个共计陆四0k数据。默认保存在C:\Documents and Settings\Administrator\UserData\目录下,保存格式为xml。关于userdata更多资料参考中国msdn.microsoft中国/library/default.asp?url=/workshop/author/behaviors/reference/behaviors/userdata.asp sessionStorage与localStorage Web Storage实际上由两部分组成:sessionStorage与localStorage。 sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。 localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。 为什么选择Web Storage而不是Cookie? 与Cookie相比,Web Storage存在不少的优势,概括为以下几点: 一. 存储空间更大:IE吧下每个独立的存储空间为一0M,其他浏览器实现略有不同,但都比Cookie要大很多。 二. 存储内容不会发送到服务器:当设置了Cookie后,Cookie的内容会随着请求一并发送的服务器,这对于本地存储的数据是一种带宽浪费。而Web Storage中的数据则仅仅是存在本地,不会与服务器发生任何交互。 三. 更多丰富易用的接口:Web Storage提供了一套更为丰富的接口,使得数据操作更为简便。 四. 独立的存储空间:每个域(包括子域)有独立的存储空间,各个存储空间是完全独立的,因此不会造成数据混乱

⑩ localstorage是什么,它有哪些作用

局部存储器。它是html5新增的一个本地存储API,所谓localStorage就是一个小仓库的意思,它有5M的大小空间,存储在浏览器中,我们可以通过js来操纵localStorage。