js 数据存储和DOM编程

JS 数据存储和 DOM 编程攻略

概述

JavaScript 是一种具有灵活性和交互性的编程语言,它在 Web 开发中扮演着重要的角色。其中,数据存储是支撑 Web 应用程序的关键之一,DOM 编程则是实现动态 Web 应用程序的重要手段之一。

本攻略将向您介绍如何使用 JS 实现数据存储和 DOM 编程的基本知识。本攻略分为以下两个部分:

  1. JS 数据存储
  2. DOM 编程

JS 数据存储

在 Web 应用程序中,我们需要将数据存储到客户端(浏览器端)或服务器端。JS 提供了许多数据存储的解决方案,包括 cookie、localStorage、sessionStorage 和 IndexedDB 等。

Cookie

cookie 是关键-值对存储在浏览器中的文本文件,具有以下特点:

  • 保存在客户端;
  • 大小为 4KB 左右;
  • 可以设置过期时间;
  • 跨同一个域名的网页之间传输。

以下是设置 cookie 的示例:

document.cookie = "username=John Doe; expires=Thu, 18 Dec 2022 12:00:00 UTC; path=/";

localStorage

localStorage 使我们可以将关键-值对持久化到浏览器本地存储中,即使用户关闭浏览器也不会丢失这些数据。localStorage 具有以下特点:

  • 保存在客户端;
  • 可以存储大量的数据;
  • 不会随着会话的结束而丢失;
  • JavaScript 可以访问。

以下是使用 localStorage 存储和获取数据的示例:

localStorage.setItem("username", "John Doe");
const username = localStorage.getItem("username");
console.log(username); // "John Doe"

sessionStorage

sessionStorage 与 localStorage 相似,不同之处在于 sessionStorage 的数据在会话结束后就会被删除,数据也仅可以在同一个窗口或标签页中被访问。

以下是使用 sessionStorage 存储和获取数据的示例:

sessionStorage.setItem("username", "John Doe");
const username = sessionStorage.getItem("username");
console.log(username); // "John Doe"

IndexedDB

IndexedDB 是一种可以存储结构化数据的客户端数据库,在浏览器内部存储数据。它允许我们以异步方式存储和检索大量的对象,支持索引和范围查询。IndexedDB 是完全异步的,并且使用基于 Promise 的 API。

以下是使用 IndexedDB 存储和获取数据的示例:

const request = indexedDB.open("myDatabase", 1);
request.onupgradeneeded = function(event) {
  const db = event.target.result;
  const objectStore = db.createObjectStore("customers", { keyPath: "id" });
  objectStore.createIndex("name", "name", { unique: false });
  objectStore.transaction.oncomplete = function(event) {
    const customerObjectStore = db.transaction("customers", "readwrite").objectStore("customers");
    customerObjectStore.add({ id: 1, name: "John Doe", age: 30 });
  };
};

DOM 编程

DOM(文档对象模型)是一个应用程序编程接口(API),它提供了一种用于 HTML 和 XML 文档的访问和操作的模式。通过使用 DOM,我们可以通过 JavaScript 更改 HTML 和 CSS。

以下是使用 DOM 修改 HTML 的示例:

<!DOCTYPE html>
<html>
<body>

<p id="demo">JavaScript 可以改变这个段落的内容。</p>

<button onclick="myFunction()">点击我</button>

<script>
function myFunction() {
  document.getElementById("demo").innerHTML = "Hello World!";
}
</script>

</body>
</html>

以上代码用按钮触发 JavaScript 函数,将 HTML 段落文本更改为“Hello World!”。

以下是使用 DOM 修改 CSS 的示例:

<!DOCTYPE html>
<html>
<head>
  <title>DOM 编程</title>
  <style>
    #demo {
      color: red;
      font-size: 36px;
    }
  </style>
</head>
<body>

<p id="demo">JavaScript 可以更改这段文本的颜色和字体大小。</p>

<button onclick="myFunction()">点击我</button>

<script>
function myFunction() {
  const x = document.getElementById("demo");
  x.style.color = "blue";
  x.style.fontSize = "48px";
}
</script>

</body>
</html>

以上代码用按钮触发 JavaScript 函数,将 HTML 段落文本的字体颜色更改为蓝色,字体大小更改为 48px。

总结

JavaScript 有许多数据存储解决方案和 DOM 编程方法。本攻略介绍了 cookie、localStorage、sessionStorage 和 IndexedDB 数据存储解决方案,以及使用 DOM 修改 HTML 和 CSS 的示例。根据您的需求,选择适当的方法来存储数据和编写动态的 Web 应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 数据存储和DOM编程 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    JavaScript类型检测之typeof 和 instanceof 的缺陷与优化 typeof的缺陷 在JavaScript中,typeof操作符用于检测一个变量或表达式的数据类型,返回一个字符串常量。 typeof variable typeof操作符返回的结果只有一下几种: “undefined”: 如果变量没有被赋值或者值为undefined “bo…

    JavaScript 2023年6月10日
    00
  • JavaScript中的索引数组、关联数组和静态数组、动态数组讲解

    JavaScript中常见的数组类型主要有四种:索引数组、关联数组、静态数组和动态数组。 索引数组 索引数组是最基本的数组类型,其下标由数字表示,从0开始依次递增。 创建索引数组可以通过以下方式: const arr = [1, 2, 3]; 访问和修改索引数组中的元素可以通过下标进行: const arr = [1, 2, 3]; arr[0]; // 返…

    JavaScript 2023年5月27日
    00
  • JavaScript中的偏函数你理解了吗

    首先,偏函数涉及的概念有: 函数的柯里化:将接受多个参数的函数转化为接受单一参数(最初函数的第一个参数)的函数。例如,一个函数add(x,y,z),柯里化后可得到add(x)(y)(z)的格式。 偏函数:将某个函数的一部分参数固定下来,生成一个新的函数,该新函数的参数比原函数少。 在 JavaScript 中,利用柯里化的思想可以轻松实现偏函数。 下面是关于…

    JavaScript 2023年5月27日
    00
  • JS函数验证总结(方便js客户端输入验证)

    JS函数验证是用JavaScript编写的表单客户端输入验证,目的是方便用户输入验证,减少对服务器沟通请求,缩短请求响应时间和提高用户体验。下面是JS函数验证的完整攻略: 1.概述 JS函数验证是对用户的输入数据预先验证,验证的方式可以使用JS正则表达式、API等方式,可以在用户提交表单到服务器之前,即在本地网页浏览器中对数据进行验证。这样可以减少不必要的请…

    JavaScript 2023年6月11日
    00
  • asp.net core3.1cookie和jwt混合认证授权实现多种身份验证方案

    针对这个话题我将给出详细的攻略,内容如下: asp.net core3.1cookie和jwt混合认证授权实现多种身份验证方案 简介 在asp.net core3.1中,使用cookie和jwt混合认证授权的方式来实现多种身份验证方案非常实用,本文将详细讲解在asp.net core3.1中如何实现这样的混合认证授权机制。 实现cookie和jwt的混合认证…

    JavaScript 2023年6月11日
    00
  • javascript获取select值的方法完整实例

    关于JavaScript获取Select的值,你可以按照下面的步骤实现: 第一步:获取Select元素 要获取Select元素,可以使用document.getElementById()方法,传入Select元素的ID作为参数,如下所示: let select = document.getElementById("mySelect"); …

    JavaScript 2023年6月10日
    00
  • json格式的时间显示为正常年月日的方法

    为了让JSON格式的时间显示为正常的年月日,我们可以使用JavaScript内置的Date对象和其中的一些方法。下面是具体的攻略: 首先,我们需要获取JSON格式的时间,并将其转化为JavaScript的Date对象。假设我们的JSON格式时间为2022-05-12T10:30:00Z,则可以使用以下代码将其转化为Date对象: javascript con…

    JavaScript 2023年6月10日
    00
  • JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结

    下面我将详细讲解关于“JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结”的攻略以及示例说明。 标题 一、offset、scroll、client的应用说明 1. offset offset是获取元素相对于其offsetParent的位置信息,包括元素的宽高、距离上下左右的距离。使用offsetLeft和offsetTop属…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部