当前位置:首页 » 存储配置 » js本地存储可以一次多对键吗

js本地存储可以一次多对键吗

发布时间: 2022-04-04 04:43:02

⑴ jquery 本地存储大量数据,并支持后续操作的方法!

你的数据有多大?几千行的话 gzip 一下也不会花超过几秒(大概不需要),不需要甚么特别的处理。再大的话就视乎实际数量和所需的处理方式,简单的 localstorage 复杂的自己看看是用自己的方法处理(一般较快较省记忆)还是去用 js 实作的数据库(一般较方便)。这也是个编程阶段,自己多试试看不同的处理方法那才会有长进,别人给的意见再好都不是你自己的经验。

javascript cookie一次存储多个名/值对,可以使用分号加空格(; )隔开,实现不了

设置cookie的时候,各值之间不能存在空格,你改成

document.cookie=”userId=828;userName=hulk”;(分号后是没有空格的)

⑶ 怎么用js实现把数据存储到本地

可以用localstorge或者是浏览器本地数据库,这对浏览器有要求,低版本的IE是不支持的

⑷ JavaScript对数组存储容量有限制吗

Javascript自身提供了一些操作,可以对数组实现一定的处理,例如排序、连接、堆栈等等,下面做一下简单的介绍。

1,concat(arrayName2, arrayName3, …, arrayNameN) ,将数组本身和另外一个或多个数组进行连接,例如:
var arr1=[”a”,”c”];
var arr2=[”b”,”d”];
var arr22=[”e”,”f”];
var arr3=arr1.concat(arr2,arr22);
document.write(arr3);//结果显示为:a,c,b,d,e,f

2,join(separator),通过间隔符将数字连接为字符串,例如:
var arr1=[”a”,”b”,”c”,”d”,”e”];
var arr1Str=arr1.join(”-”);
document.write(arr1Str);//结果显示为:a-b-c-d-e

3,pop()/push(element1, …, elementN) ,实现了堆栈的操作,push是入栈,pop是出栈,例如:
var arr1=[”a”,”b”];
arr1.push(”c”,”d”);
document.write(arr1);//结果为:a,b,c,d
var value=arr1.pop();
document.write(value);//结果为:d

4,reverse() ,将数组反向排序,例如:
var arr1=[”a”,”b”,”c”];
arr1.reverse();
document.write(arr1);//结果为:c,b,a

5,sort(compareFunction),按照指定的排序规则进行排序,如果参数为空,则按照默认的字母和数字进行排序,例如:
function mySort(o1,o2){
if(o1.length>o2){
return 1;
}
return -1;
}
var arr1=[”a”,”c”,”bd”];
arr1.sort();
document.write(arr1);//结果为:a,bd,c
arr1.sort(mySort);
document.write(arr1);//结果为:bd,c,a

6,shift() /unshift,将数组的第一个值取出(或者将值插入到数组第一个位置),并且数组长度缩短(加长),例如:
var arr1=[”a”,”b”,”c”];
var value=arr1.shift();
document.write(value);//输出为:a
document.write(arr1);//输出为:b,c
var value2=arr1.unshift(”g”);
document.write(value);//IE输出为undefined,Firefox输出为3
document.write(arr1);//输出为:g,b,c

7,slice(begin[,end]) ,类似字符串的substring方法,就是截取数组,例如:
var arr1=[”a”,”b”,”c”];
var arr2=arr1.slice(0,2);
document.write(arr2);//输出为:a,b

8,splice(index, howMany, [element1][, …, elementN]) ,从指定的位置(index)开始,删除后面多个(howMany)数组的值,并从删除处开始依次插入新的值,例如:
var arr1=[”a”,”b”,”c”];
arr1.splice(1,1,”m”,”n”,”o”);
document.write(arr1);//输出为:a,m,n,o,c

应该说,Javascript本身对数组提供的操作能力,还是不错的,但是在实际应用中,我们需要对数组做更多的操作,例如Java、PHP、.NET中对数组都提供了强大的操作能力,而且许多优秀的开源项目中,也提供了对数组的许多操作,但是Javascript这方面还需要进一步加强。

为了对数组提供更多的操作,JsJava定义了许多类,来加强对数组的操作,介绍如下:

1,jsjava.util.Arrays类,仿照Java的Arrays类,对数组提供了一些高效的操作,例如:
var list=Arrays.asList([”a”,”b”,”c”]);//通过数组创建一个不可变的列表
而且通过binarySearch,提供了二分法搜索的一个实现,其它的请参考JsJavaDoc

2,jsorg.apache.commons.lang.ArrayUtils类,该类的实现是参考Apache优秀的commons-lang开源项目实现的,实现其中的所有功能,例如对数组进行插入、删除、搜索、填充、截取等等,例如:
var arr=ArrayUtils.clone([0,1,2,9,0]);
document.write(arr+”<br>”);
document.write(ArrayUtils.subarray(arr,0,3)+”<br>”);
arr.reverse();
document.write(arr);
显示结果为:
0,1,2,9,0
0,1,2
0,9,2,1,0

3,jsorg.eob.lang.MultiDimensionArrayUtils类,该类实现了对多维数组的创建支持,例如可以方便创建二维和三维数组,具体可以参考文章《在Javascript之中如何创建多维数组》

4,org.apache.commons.math.linear.RealMatrixImpl类,实现对矩阵的操作,矩阵实际上就是多维数组,即实现了对多维数组的支持,例如可以实现多维数组的加、减、乘、除等操作,还有数学运算中对矩阵的其它操作,具体可以参考JsJavaDoc。

JsJava是对Javascript语言最好的扩展和延伸,它与目前流行的prototype.js的方向是不一样的,如果你正在构建web应用,那么JsJava将是你界面应用最好的支撑。

⑸ js本地存储可以一次存多对键名键值对吗

一般将多个键值对使用JSON序列化为一个JSON字符串
然后用一个键值对的方式存储更好
例如想要存a=1,b=2,c=3不用存三次
是需要将其序列化为{"a":1,"b":2,"c":3}然后存上

⑹ html5 本地存储有多少种方案

html5 本地存储有五种方案。
1、LocalStorage
LocalStorage就是Key-Value的简单键值对存储结构,Web Storage除了localStorage的持久性存储外,还有针对本次回话的sessionStorage方式,一般情况下localStorage较为常用,示例代码如下:
function save(dataModel){
var value = dataModel.serialize();
window.localStorage['DataModel'] = value;
window.localStorage['DataCount'] = dataModel.size();
console.log(dataModel.size() + ' datas are saved');
return value;
}
function restore(dataModel){
var value = window.localStorage['DataModel'];
if(value){
dataModel.deserialize(value);
console.log(window.localStorage['DataCount'] + ' datas are restored');
return value;
}
return '';
}
function clear(){
if(window.localStorage['DataModel']){
console.log(window.localStorage['DataCount'] + ' datas are cleared');
delete window.localStorage['DataModel'];
delete window.localStorage['DataCount'];
}
}
2、Cookie
这种存储方式存储内容很有限,只适合做简单信息存储,存取接口设计得极其反人类,举例如下:
function getCookieValue(name) {
if (document.cookie.length > 0) {
var start = document.cookie.indexOf(name + "=");
if (start !== -1) {
start = start + name.length + 1;
var end = document.cookie.indexOf(";", start);
if (end === -1){
end = document.cookie.length;
}
return unescape(document.cookie.substring(start, end));
}
}
return '';
}
function save(dataModel) {
var value = dataModel.serialize();
document.cookie = 'DataModel=' + escape(value);
document.cookie = 'DataCount=' + dataModel.size();
console.log(dataModel.size() + ' datas are saved');
return value;
}
3、Indexed Database API
IndexedDB可以存储结构对象,可构建key和index的索引方式查找,目前各浏览器的已经逐渐支持IndexedDB的存储方式,其使用代码如下,需注意IndexedDB的很多操作接口类似NodeJS的异步回调方式,特别是查询时连cursor的continue都是异步再次回调onsuccess函数的操作方式,因此和NodeJS一样使用上不如同步的代码容易。
function save(dataModel){
var tx = db.transaction("meters", "readwrite");
var store = tx.objectStore("meters");
dataModel.each(function(data){
store.put({
id: data.getId(),
tag: data.getTag(),
name: data.getName(),
meterValue: data.a('meter.value'),
meterAngle: data.a('meter.angle'),
p3: data.p3(),
r3: data.r3(),
s3: data.s3()
});
});
tx.oncomplete = function() {
console.log(dataModel.size() + ' datas are saved');
};
return dataModel.serialize();
}
4、FileSystem API
FileSystem API相当于操作本地文件的存储方式,目前支持浏览器不多,其接口标准也在发展制定变化中,因此也可以动态生成图片到本地文件,然后通过 filesystem:http:*** 的URL方式直接赋值给img的html元素的src访问
function save(dataModel) {
var value = dataModel.serialize();
fs.root.getFile('meters.txt', {create: true}, function (fileEntry) {
console.log(fileEntry.toURL());
fileEntry.createWriter(function (fileWriter) {
fileWriter.onwriteend = function () {
console.log(dataModel.size() + ' datas are saved');
};
var blob = new Blob([value], {type: 'text/plain'});
fileWriter.write(blob);
});
});
return value;
}
5、Application Cache
window.applicationCache 对象是对浏览器的应用缓存的编程访问方式。其 status 属性可用于查看缓存的当前状态:
var appCache = window.applicationCache;
switch (appCache.status) {
case appCache.UNCACHED: // UNCACHED == 0
return 'UNCACHED';
break;
case appCache.IDLE: // IDLE == 1
return 'IDLE';
break;
case appCache.CHECKING: // CHECKING == 2
return 'CHECKING';
break;
case appCache.DOWNLOADING: // DOWNLOADING == 3
return 'DOWNLOADING';
break;
case appCache.UPDATEREADY: // UPDATEREADY == 4
return 'UPDATEREADY';
break;
case appCache.OBSOLETE: // OBSOLETE == 5
return 'OBSOLETE';
break;
default:
return 'UKNOWN CACHE STATUS';
break;
};

⑺ js记录点击某个按钮次数并存储到xml或者txt文本,并可以读取点击的记录(考虑多个人点击)

<input type='button' value='点击' onclick='clickCount()' />
<input type='button' value='查看当前用户点击次数' onclick='clickShow()' />

function clickCount(){
var UserName = <%=Session["UserName"]%> //aspx页面
var UserInfo = xmlDoc.createElement("UserInfo");
UserInfo.setAttribute("name", UserName);
}

function clickShow(){
var clickCount = 0;
var xmlDoc = loadXml("TEST.xml");
for(var i = 0;i<xmlDoc.getElementsByTagName("UserInfo").length; i ++) {
var UserInfo = xmlDoc.getElementsByTagName("UserInfo")[i];
var UserName = UserInfo.getAttribute("UserName");
if(UserName == <%=Session["UserName"]%>){clickCount++;}
}
alert("您点击了"+clickCount);
}

function loadXml (xmlFileName) {
var xmlFile = xmlFIleName;
if (window.ActiveXObject) {
//IE
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation && document.implementation.createDocument) {
//其他浏览器
xmlDoc = document.implementation.createDocument('', '', null);
xmlDoc.load(xmlFile);
}
else {
xmlDoc = null;
}
return xmlDoc;
}

//没测试过 你试试看

⑻ js 编程需存储大量数据,有什么好的方法

1、Cookies。这个不说了,容量小,还有性能问题。

2、localStorage、sessionStorage,IE8+才支持,容量一般在5MB左右。

3、WebSQL,IE不支持。好处是结构跟关系型数据库一样,而且没有容量限制;缺点是慢。

4、IndexDB,IE10+才支持,已被废弃的一种特性(废弃的意思是你可以继续使用,但是浏览器厂商已经不再维护这个特性了,即使有BUG也没人管了)。

⑼ JavaScript对象里面有几个键值对

6个

热点内容
安卓快手图片怎么弄 发布:2024-11-20 21:10:21 浏览:80
linuxtomcat内存 发布:2024-11-20 20:56:28 浏览:775
小米5s存储卡 发布:2024-11-20 20:48:48 浏览:14
互联网宣传片脚本 发布:2024-11-20 20:47:09 浏览:993
穿越火线服务器ip地址和端口 发布:2024-11-20 19:59:43 浏览:701
李鸿章环球访问 发布:2024-11-20 19:54:07 浏览:197
方舟联机服务器怎么发育 发布:2024-11-20 19:53:15 浏览:937
苹果手机怎么设计密码 发布:2024-11-20 19:53:13 浏览:181
一个服务器可以搭建多少游戏 发布:2024-11-20 19:43:56 浏览:971
哈希函数c语言 发布:2024-11-20 19:43:03 浏览:745