网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。
本篇文章给大家带来的内容是关于javascript如何实现一个本地数据库?(详细分析),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
前端很多时候还是需要保存一些数据的,这里的保存指的是长久的保存。以前的思想是把数据保存在 Cookie 中,或者将 key 保存在 Cookie 中,将其他数据保存在服务器上。
这几个场景用处很多,也非常地成熟好用。但是我还是想要一种能够长久保存在本地的数据,类似数据库或者类似 Web SQL。
新一代浏览器基本都支持了本地数据库,需要用的时候直接使用就好了。实在不行还可以使用 Storage 将就一下。
假如我需要的是一个数据库那种功能并且没有兼容的存储方式呢?假如我还要加密存储这些东西在本地呢?假如我要存的东西非常多呢?
目前我在使用 React Native 的时候确实遇到了这种情况。我需要将非常多的数据存在本地。有人说了,直接使用 SQLite 不就好了么?
好啊,完全可以啊。我这里仅仅是本着前端的态度去开发而已。假如有的同学不需要 SQLite 呢,只需要一个简单的,能够存储一些大量数据的方式呢?
使用场景可能有很多,实现的底层也可以随便替换,甚至实现方式都可以随便写写。这里我本着前端创造世界的态度来做一个非正式的、前端好使的数据存储库。
底层存储
这里的使用场景是 React Native,所以我使用的是 RN 的 AsyncStorage。
将所有要保存的数据转成对象,并转化为字符串。这里的核心思想就是序列化。将所有数据当成字符串来存。
import { AsyncStorage } from 'react-native';
exports.setItem = async (key, value) => {
let item = JSON.stringify({
v: value
});
return await AsyncStorage.setItem(key, item);
}
当读取的时候也需要做一次转化,将字符串转成当初存入的数据。
exports.getItem = async (key) => {
let item = await AsyncStorage.getItem(key);
if (!item) {
return null;
}
return JSON.parse(item).v 关键词:javascript如何完成一个本地数据库?(详细区分)