美文网首页
js数据存放处理

js数据存放处理

作者: 桥北江南 | 来源:发表于2018-03-07 10:54 被阅读0次

1.全局变量统一定义,以__开头,如:

var __data = {};

2.局部变量尽量以变量含义字符串,遇特殊字符串需注意,如:

function domo() {

var tlocation = ''; // 尽量避免与内置对象有冲突的变量名

}

3.所有数据尽量放在js变量中。

3.1.隐藏数据如尽量写在js全局变量中,因为浏览器(如ff)可能会默认将该值缓存,会造成该值在js中被修改后刷新页面

被置为该修改值而不是初始值;

如果需要将隐藏数据放在form中提交,两种解决办法,一是在提交前js赋值,二是input增加一个属性

3.2.一些隐私性数据放在json中,或者编码后存放,不过js数据都在客户端放着,想做到绝对保险是不太可能的;

如果不想数据被抓到,就只好采用类似applet这种小程序来实现,网银和淘宝这种私密性很强的登录都采用了类似的插件机制。

3.3.大量从服务器端返回的数据怎么存放?

是和数据显示放在一起的一大堆隐藏的input里,还是用了jquery后放在对象的data里?

从实际应用中,现在我更倾向于放在一个统一的全局json里,为每个对象置一个key就可以了,如:

var __data = {};

function back(jsons) {

__data = {}; // 有数据清理需求的需要做这个工作

$.each(jsons, function(i, json) {

__data[json.id] = json; // 当然这里的json.id就是这个唯一性的key,至于这个key如何生成,可以自行设置

});

...

}

如此,每次取数据的时候只需要用key去全局json中取,修改也非常方便,如:

var data = __data[key];

data.anykey = 'anyvalue';

针对这两句代码补充两点:

json的key类似数组的下标,但是实际是一个字符串,如果没有这个key,返回undefined;

取出来的data如果本身是个基本数据类型,那么修改data的值不会对全局json的值产生影响;

如:

var __data = { com : 'haah', obj : { da : 'en', db: 23 } };

var com = __data.com;

var obj = __data.obj;

com = 'hooh'; // 只是修改了com变量本身,__data.com的值不变;对于基本数据类型的变量,需要直接修改其值,__data.com = 'hooh';

obj.da = 'cn'; // 因为obj变量实际是__data.obj的引用,因此修改其值是修改__data本身;

第二点其实和java中对于对象的引用是一致的。

ps:使用jquery可以简化大量代码,也可以避免一些浏览器兼容问题,特殊问题可以绕开jquery自行编写;

相关文章

  • js数据存放处理

    1.全局变量统一定义,以__开头,如: var __data = {}; 2.局部变量尽量以变量含义字符串,遇特殊...

  • js传参之值传递

    js数据存储方式 js中基本数据类型是存放在栈中;引用数据类型存在堆中,栈中会有一个内存空间存放引用数据类型的地址...

  • JS数组

    @(javascript)[js数组] [toc] JS数组 数组也是一种数据类型,用于存放数据。在各大语言中都存...

  • Buffer缓冲器

    1.什么是Buffer 缓冲区Buffer是暂时存放输入输出数据的一段内存,JS语言没有二进制数据类型,而当处理T...

  • 1.项目结构

    api:用于存放 请求数据的JS文件 assets:用于存放公共资源参数 comm:用于存放一些常用的组件 com...

  • RN-mobX 简单使用

    https://cn.mobx.js.org 本文问题解决1.单个页面的数据存放、修改、即时更新2.全局数据的存放...

  • javascript - 数组

    检查对象是否为数组:数组是一种特殊的js对象。 js的数组可以存放不同数据类型数据吗?

  • 如何实现export一个异步结果

    场景: 菜单栏需要从后台接口中获取,存放在配置文件中 其他页面中有的会引用这个配置文件 处理菜单数据 a.js:异...

  • Nginx 配置参考

    服务器拆分方案 web服务器:一般用来处理一些静态资源,如CSS、JS文件等 data服务器:存放数据,以及用来处...

  • JS 垃圾回收

    内存 JS 数据的存储地址分为栈内存和堆内存。 栈内存 堆内存 在 JS 存放数据的内存中又分为高位和低位,其中高...

网友评论

      本文标题:js数据存放处理

      本文链接:https://www.haomeiwen.com/subject/bnfjfftx.html