JavaScript 本地存储

JavaScript 本地存储

本地存储 是一种网页存储类型的数据存储方式。它允许JavaScript网站和应用程序在没有过期日期的情况下存储和访问数据。这意味着数据将一直保存并且不会过期。所以,即使关闭浏览器窗口,仍然可以访问在浏览器中存储的数据。

简而言之,本地存储可以保存没有过期日期的数据,并且即使关闭浏览器窗口后用户仍然可以访问。它在许多方面都很有用,例如记住购物车数据或用户登录任何网站。

在过去,cookie是记住这种临时和本地信息的唯一选择,但现在我们也有本地存储。与cookie相比,本地存储有更高的存储限制(5MB与4MB)。它也不会随着每个 HTTP 请求发送。因此,对于客户端存储来说,现在是更好的选择。需要注意有关本地存储的一些重要要点:

  • 本地存储不安全,无法存储敏感数据,可以使用任何代码访问。因此,它非常不安全。
  • 与cookie相比,本地存储可以存储更多的数据。您可以使用本地存储在浏览器中存储5MB的数据。
  • 本地存储只在浏览器中存储信息,而不是在数据库中。因此,本地存储不能替代基于服务器的数据库。
  • 本地存储是同步的,这意味着每个操作都是按顺序执行的。

本地存储方法

本地存储提供了一些方法供使用。我们将通过示例讨论所有这些本地存储方法。在此之前,这些方法的基本概述如下:

方法 描述
setItem() 该方法用于通过键和值将数据添加到本地存储中。
getItem() 用于使用键从存储中获取值。
removeItem() 通过键从存储中移除项目。
clear() 用于清除所有存储。

每个方法都与localStorage关键字连接使用点(.)字符。 例如: localStorage.setItem()。

Remember that localStorage property is read-only.

以下是一些用于在localStorage中添加、检索、删除和清除数据的代码示例。根据需要在您的代码中使用它们。您需要一个键值对来在localStorage中添加一些数据。所以,让键为city,值为Noida, 也就是说, 键:值=city:Noida。

添加数据

要在localStorage中添加数据,setItem()函数需要传入键和值。

localStorage.setItem("city", "Noida");

检索数据

只需要密钥从存储中检索数据,还需要一个JavaScript变量来存储返回的数据。

const res = localStorage.getItem("city");

删除数据

它还要求仅使用键来删除与之关联的值。

localStorage.removeItem("city");

清除localStorage

这是一个简单的localStorage.clear()函数,用于删除所有的localStorage数据:

localStorage.clear()

localStorage的限制

localStorage允许存储临时的本地数据,即使在关闭浏览器窗口之后也能保留,但它也有一些限制。以下是localStorage的一些限制:

  • 不要在localStorage中存储敏感信息,比如用户名和密码。
  • localStorage没有数据保护,可以通过任何代码进行访问,所以它是相当不安全的。
  • 在浏览器中使用localStorage最多只能存储5MB的数据。
  • localStorage只在浏览器中存储信息,而不存储在基于服务器的数据库中。
  • localStorage是同步的,这意味着每个操作按顺序执行。

localStorage的优势

localStorage具有多个优势。localStorage的首要和基本优势是可以在浏览器中存储临时但有用的数据,即使浏览器窗口关闭后仍然保留。以下是一些优势的列表:

  • localStorage存储的数据保存在浏览器中。可以在浏览器中存储5MB的数据。
  • localStorage存储的数据没有过期日期。
  • 可以用一行代码 clear() 删除所有localStorage项。
  • localStorage的数据在关闭浏览器窗口后仍然保留,比如购物车中的物品。
  • 与Cookie相比,它具有更多的优势,因为可以存储更多的数据。

浏览器兼容性

localStorage在HTML5中有明确规定,受多个浏览器支持,如Chrome。以下是支持JavaScript localStorage的不同浏览器及其版本的列表。

JavaScript代码检查浏览器兼容性

通过以下代码示例,您可以检查浏览器的兼容性。在每个localStorage程序中使用此代码,在向localStorage添加或删除内容之前检查浏览器兼容性。

<script>
// Code to check browser support 
if (typeof(Storage) !== "undefined") {
   //browser support localStorage 
} else {
  //browser does not support localStorage
}
</script>

输出

Undefined

示例

这是一个基本示例,演示向localStorage添加键值对,并通过键检索回来。请查看下面的代码,了解localStorage方法的工作原理:

<html>
<body>

<div id="result"></div>

<script>
// Check browser support
if (typeof(Storage) !== "undefined") {
  // Store an item to localStorage
  localStorage.setItem("firstname", "Alen");

  // Retrieve the added item
  document.getElementById("result").innerHTML = localStorage.getItem("firstname");

} else {
  //display this message if browser does not support localStorage
  document.getElementById("result").innerHTML = "Sorry, your browser does not support Web Storage.";
}
</script>
</body>
</html>

输出

Alen

更多示例

这是一个示例,用于计算按钮点击次数,即它将计算用户点击按钮的次数。在这个示例中,我们将创建两个按钮,一个用于计数用户点击次数,另一个用于清除点击数据。

<html>
<head>
<script>
//function to count the button clicks
function clickCounting() {
  if(typeof(Storage) !== "undefined") {
    if (localStorage.clickcount) {
      localStorage.clickcount = Number(localStorage.clickcount)+1;
    } else {
      localStorage.clickcount = 1;
    }
    document.getElementById("result").innerHTML = "You have clicked the button " + localStorage.clickcount + " time(s).";
  }
    //when the browser does not support
  else {
    document.getElementById("result").innerHTML = "Your browser does not support web storage.";
  }
}

//function to clear the data stored by browser
function clearCounting() {
    window.localStorage.clear();
}
</script>
</head>
<body>

<h3> Click the button to see the counter increase.</h3>
<p> <button onclick="clickCounting()" type="button">Click to Count</button></p>
<div id="result"> </div>
<h4> Now close the browser tab or browser window and execute the code again on the browser. <h4>
<h3>Note: The counter will start counting from where you leave and is not reset.</h3>
<p> <button onclick="clearCounting()" type="button">Clear Count</button></p>

</body>
</html>

输出1

在下面的输出中,您可以看到我们点击了 点击计数 按钮9次。

JavaScript 本地存储

输出2

现在关闭窗口选项卡并重新打开以再次运行代码。再次点击 点击计数 按钮,它将从你离开的地方开始计数,从10开始。

JavaScript 本地存储

输出3

现在,点击 清零计数 按钮以清除存储的数据。当你再次点击 开始计数 按钮时,计数将重新从1开始。

JavaScript 本地存储

清除所有记录

localStorage的Clear()方法用于清除整个存储数据。当调用此方法时,它会清除存储中该域的所有记录。它不包含任何参数。看一下清除localStorage的语法:

window.localStorage.clear();

或者

localStorage.clear();

以下示例中我们将使用以下清晰的代码。

检查localStorage

在JavaScript控制台上,您可以通过输入 localStorage 命令来查看本地存储中有什么内容。即使localStorage中没有任何内容,长度为0。

命令

LocalStorage

输出

Storage {length: 0}

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程