文章目录
- 前言
- 一、日期对象
- 日期对象的作用
- 1.1 实例化
- 1.2 日期对象的方法
- 1.3 时间的格式化
- 1.4 时间戳的使用
- 时间戳是什么
- js的时间戳
- 二、DOM的增删改查
- 什么叫做DOM节点
- 2.1 DOM的查找
- 2.2 增加节点
- 2.3 克隆节点和删除节点
- 三、M端事件
- 3.1 M端是什么?
- 总结
前言
在 JavaScript 中,日期对象的处理、DOM 节点的查找、增加、克隆和删除,以及移动端事件处理都是常见的任务。掌握这些基础操作对于开发者来说是至关重要的。本文将深入探讨这些主题,帮助你更好地理解和运用这些基础知识。
一、日期对象
日期对象的作用
日期对象:用来表示时间的对象
作用:可以得到当前系统时间
1.1 实例化
在代码中发现了 new 关键字时,一般将这个操作称为实例化
创建一个时间对象并获取时间:
下面可以获取当前时间:
const date = new Date()
console.log(date)
获取指定时间:
const date1 = new Date('2024-1-20')
console.log(date1)
const date2 = new Date('2024-1-20 08:30:00')
1.2 日期对象的方法
1.getFullYear()
名称: 获取年份
作用: 返回一个四位数的年份(例如:2024)。
说明: 该方法用于从 Date 对象中提取年份部分。
2.getMonth()
名称: 获取月份
作用: 返回一个 0 到 11 之间的整数,代表月份。
说明: 返回的月份从 0 开始,即 0 表示一月,1 表示二月,依次类推,11 表示十二月。
3.getDate()
名称: 获取月份中的每一天
作用: 返回一个月中的某一天,范围从 1 到 31。
说明: 返回指定日期对象(Date object)的月份中的日期。
4.getDay()
名称: 获取星期
作用: 返回一个 0 到 6 之间的整数,代表星期几。
说明: 返回的数字从 0 开始,0 表示星期日,1 表示星期一,依次类推,6 表示星期六。
5.getHours()
名称: 获取小时
作用: 返回一个 0 到 23 之间的整数,代表一天中的小时数。
说明: 返回的小时数是以 24 小时制表示的。
6.getMinutes()
名称: 获取分钟
作用: 返回一个 0 到 59 之间的整数,代表一小时中的分钟数。
说明: 返回的分钟数是指指定小时中的分钟部分。
7.getSeconds()
名称: 获取秒
作用: 返回一个 0 到 59 之间的整数,代表一分钟中的秒数。
说明: 返回的秒数是指指定分钟中的秒部分。
这些方法允许 JavaScript 开发者从 Date 对象中提取特定的时间信息,以便对日期和时间进行处理和展示。
示例代码:
// 创建一个 Date 对象
let currentDate = new Date();
// 使用不同的方法获取日期和时间的部分
let year = currentDate.getFullYear();
let month = currentDate.getMonth(); // 返回值范围:0~11
let dayOfMonth = currentDate.getDate();
let dayOfWeek = currentDate.getDay(); // 返回值范围:0~6
let hours = currentDate.getHours(); // 返回值范围:0~23
let minutes = currentDate.getMinutes(); // 返回值范围:0~59
let seconds = currentDate.getSeconds(); // 返回值范围:0~59
// 打印获取到的值
console.log("年份:", year);
console.log("月份:", month + 1); // 月份范围是0~11,因此需要加1
console.log("日期:", dayOfMonth);
console.log("星期:", dayOfWeek);
console.log("小时:", hours);
console.log("分钟:", minutes);
console.log("秒:", seconds);
1.3 时间的格式化
在 JavaScript 中,toLocalString()、toLocaleDateString() 和 toLocaleTimeString() 方法用于将日期和时间格式化为本地化的字符串。以下是它们的名称、作用和说明,以及一个示例代码:
1.toLocalString()
名称: 本地化日期时间字符串
作用: 返回一个表示本地日期和时间的字符串,格式根据用户的本地化设置而定。
说明: 这个方法会根据用户的本地化偏好,将日期和时间以可读的字符串形式显示。
2.toLocaleDateString()
名称: 本地化日期字符串
作用: 返回一个表示本地日期的字符串,格式根据用户的本地化设置而定。
说明: 这个方法仅显示日期部分,格式会根据用户的本地化设置而改变。
3.toLocaleTimeString()
名称: 本地化时间字符串
作用: 返回一个表示本地时间的字符串,格式根据用户的本地化设置而定。
说明: 这个方法仅显示时间部分,格式会根据用户的本地化设置而改变。
示例代码:
// 创建一个 Date 对象
let currentDate = new Date();
// 使用 toLocalString() 格式化成本地化日期时间字符串
let localDateTimeString = currentDate.toLocaleString();
// 使用 toLocaleDateString() 格式化成本地化日期字符串
let localDateString = currentDate.toLocaleDateString();
// 使用 toLocaleTimeString() 格式化成本地化时间字符串
let localTimeString = currentDate.toLocaleTimeString();
// 打印格式化后的字符串
console.log("本地化日期时间字符串:", localDateTimeString);
console.log("本地化日期字符串:", localDateString);
console.log("本地化时间字符串:", localTimeString);
这个示例代码创建了一个 Date 对象,然后使用三个不同的方法将其格式化为本地化的日期时间字符串、日期字符串和时间字符串,并通过 console.log() 打印出来。请注意,具体的格式会根据用户的本地化设置而有所不同。
1.4 时间戳的使用
时间戳是什么
时间戳就像是时间的独特身份证号码。它是一个数字,表示从某个特定的参考点(通常是1970年1月1日,也称为UNIX纪元)开始,到现在的经过的秒数。所以,时间戳告诉我们在过去或未来的某一刻,距离那个特定的起点有多少秒。
比如说,如果一个时间戳是 1612345678,那就意味着从1970年1月1日到"1612345678秒之后"的时间点。通过使用时间戳,我们可以更方便地比较、计算和记录时间,因为它提供了一个统一的时间度量标准。在计算机科学和编程中,时间戳经常被用来表示事件发生的时间,进行时间的计算和排序等操作。
js的时间戳
我们可以使用+new Date()
来获取时间戳
算法:
将来的时间戳 - 现在的时间戳 = 剩余时间毫秒数
剩余时间毫秒数 转换为 剩余时间的 年月日时分秒 就是倒计时时间
比如 将来时间戳 2000ms- 现在时间戳1000ms = 1000ms
1000ms 转换为就是 0小时0分1秒
二、DOM的增删改查
什么叫做DOM节点
DOM节点
DOM树里每一个内容都称之为节点
节点类型
元素节点:所有的标签 比如 body、 div
html是根节点
属性节点:所有的属性比如 href
文本节点:所有的文本
其他
2.1 DOM的查找
获取父节点:
我们可以使用parentNode
来获取
<!DOCTYPE html>
<html lang="ch">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width: 100px;
height: 100px;
background-color: pink;
}
</style>
</head>
<body>
</body>
<div class="parent">
父节点
<div class="son">子节点</div>
</div>
<script>
const son = document.querySelector('.son')
const parent = son.parentNode
</script>
</html>
查找子节点使用children
查找兄弟节点nextElementSibling 和 previousElementSibling
2.2 增加节点
创建节点:document.createElement('标签名')
增加节点:
插入到父元素的最后一个子元素:父元素.appendChild(要插入的元素)
插入到父元素某个子类前面:父元素.insertBefore(要插入的元素,哪个元素前面)
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>DOM 操作示例</title>
</head>
<body>
<!-- 一个包含子元素的父元素 -->
<div id="parentElement">
<p>已存在的子元素 1</p>
<p>已存在的子元素 2</p>
</div>
<script>
// 创建一个新的 p 元素
let newParagraph = document.createElement('p');
// 设置新元素的文本内容
newParagraph.textContent = '新创建的子元素';
// 获取父元素
let parentElement = document.getElementById('parentElement');
// 将新元素追加到父元素的最后一个子元素后面
parentElement.appendChild(newParagraph);
// 创建另一个新的 p 元素
let anotherNewParagraph = document.createElement('p');
// 设置另一个新元素的文本内容
anotherNewParagraph.textContent = '插入到已存在子元素前面的新元素';
// 获取要插入到前面的子元素(这里选择第一个子元素)
let existingChild = parentElement.firstChild;
// 将新元素插入到已存在子元素前面
parentElement.insertBefore(anotherNewParagraph, existingChild);
</script>
</body>
</html>
2.3 克隆节点和删除节点
克隆节点:document.cloneNode(bool)
cloneNode会克隆出一个跟原标签一样的元素,括号内传入布尔值
若为true,则代表克隆时会包含后代节点一起克隆
若为false,则代表克隆时不包含后代节点
默认为false
删除节点:
在JavaScript 原生DOM操作中,要删除元素必须通过父元素删除,写法:父元素.removeChild(要删除的元素)
示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>克隆节点与删除节点示例</title>
</head>
<body>
<div id="original">
<!-- 原始节点 -->
<p>原始节点的文本内容</p>
<ul>
<li>子节点1</li>
<li>子节点2</li>
<li>子节点3</li>
</ul>
</div>
<button onclick="cloneNodeWithChildren()">克隆节点(包含子节点)</button>
<button onclick="cloneNodeWithoutChildren()">克隆节点(不包含子节点)</button>
<button onclick="removeOriginal()">删除原始节点</button>
<script>
// 获取原始节点
var originalNode = document.getElementById('original');
// 克隆节点(包含后代节点)
function cloneNodeWithChildren() {
var clonedNode = originalNode.cloneNode(true); // true 表示包含后代节点
document.body.appendChild(clonedNode); // 在文档中插入克隆节点
}
// 克隆节点(不包含后代节点)
function cloneNodeWithoutChildren() {
var clonedNode = originalNode.cloneNode(false); // false 表示不包含后代节点
document.body.appendChild(clonedNode); // 在文档中插入克隆节点
}
// 删除原始节点
function removeOriginal() {
var parent = originalNode.parentNode; // 获取原始节点的父节点
parent.removeChild(originalNode); // 从父节点中移除原始节点
}
</script>
</body>
</html>
三、M端事件
3.1 M端是什么?
“M端"通常指的是移动端,其中的"M"代表"Mobile”,表示在移动设备上(例如智能手机、平板电脑)访问和使用的端口或应用。在互联网和软件开发领域,移动端是指专门为移动设备设计和优化的用户界面和应用程序。
具体来说,M端通常包括移动网页、移动应用程序以及其他在移动设备上运行的软件。这些移动端产品和服务通常经过精心设计,以适应小屏幕、触摸输入和移动网络等移动设备特有的特征。开发者会针对不同的移动平台(如iOS和Android)创建相应的应用程序,以提供更好的用户体验和性能。
总的来说,M端是指为了在移动设备上提供便捷、高效、用户友好的体验而专门设计的软件和界面。
常见的事件如下:
总结
本文深入介绍了 JavaScript 中日期对象的使用、DOM 节点的查找、增加、克隆和删除,以及移动端触摸事件的处理。这些基础知识是前端开发不可或缺的一部分,通过不断练习和实践,你将更加熟练地运用它们,为你的项目提供稳健的基础。希望这篇文章对你有所帮助!