从0开始学习JavaScript--JavaScript 数字与日期

JavaScript中的数字和日期是处理数值计算和时间相关任务的核心。本文将深入研究JavaScript中数字的表示、常见运算,以及日期对象的创建、格式化等操作,并通过丰富的示例代码,可以更全面地了解和应用这些概念。

JavaScript数字基础

JavaScript中的数字包括整数和浮点数,了解它们的表示和运算规则对于正确处理数值至关重要。

// 示例:数字基础
let integer = 42;
let float = 3.14;

console.log(integer + float); // 输出:45.14
console.log(integer / 2); // 输出:21

在这个例子中,整数和浮点数的基本运算展示了数字类型的灵活性。

数字运算和精度问题

了解JavaScript中的数字运算和处理浮点数精度问题是编写可靠代码的关键。

// 示例:数字运算和精度问题
let result = 0.1 + 0.2;

console.log(result); // 输出:0.30000000000000004

在这个例子中,0.1和0.2相加的结果出现了精度问题,这是由于浮点数在计算机中的二进制表示导致的。

数字格式化和转换

对数字进行格式化和转换是在实际应用中经常遇到的任务,JavaScript提供了多种方法来实现这些操作。

// 示例:数字格式化和转换
let num = 12345.6789;

console.log(num.toFixed(2)); // 输出:12345.68
console.log(Number(num.toPrecision(5))); // 输出:12345

在这个例子中,通过toFixedtoPrecision方法,我们可以对数字进行小数位控制和有效数字控制。

JavaScript日期基础

日期对象是处理时间和日期相关任务的关键。了解如何创建、操作和格式化日期是开发中的常见需求。

// 示例:日期基础
let currentDate = new Date();

console.log(currentDate); // 输出:当前日期和时间
console.log(currentDate.getFullYear()); // 输出:当前年份

在这个例子中,通过Date对象,获取了当前的日期和时间,并使用getFullYear方法获取了当前年份。

日期操作和格式化

对日期进行加减、格式化等操作是处理时间逻辑的重要一环。

// 示例:日期操作和格式化
let tomorrow = new Date();
tomorrow.setDate(currentDate.getDate() + 1);

console.log(tomorrow.toDateString()); // 输出:明天的日期
console.log(currentDate.toLocaleTimeString()); // 输出:当前时间的本地化字符串

在这个例子中,通过setDate方法得到明天的日期,并通过toLocaleTimeString方法获取当前时间的本地化字符串。

时间戳与日期对象的相互转换

时间戳是表示日期和时间的常见方式之一,了解如何将时间戳转换为日期对象,以及反向操作,是处理时间数据的重要技能。

// 示例:时间戳与日期对象的相互转换
let timestamp = Date.now();
let dateFromTimestamp = new Date(timestamp);

console.log(dateFromTimestamp); // 输出:根据时间戳创建的日期对象
console.log(dateFromTimestamp.getTime()); // 输出:日期对象转换为时间戳

在这个例子中,使用Date.now获取当前时间戳,然后通过new Date将时间戳转换为日期对象。

总结

JavaScript中的数字和日期是开发中不可或缺的要素,深入理解它们的特性和操作方法是编写高效、可靠代码的必经之路。数字的基本运算、精度问题以及格式化和转换等操作,构成了处理数值计算的基础。同时,了解如何创建、操作和格式化日期对象,以及与时间戳的相互转换,能够轻松处理各种时间相关任务。

在实际开发中,对数字和日期的熟练运用不仅有助于编写更清晰、灵活的代码,还能提高程序的性能和用户体验。数字和日期的处理是许多应用场景中不可或缺的一环,无论是金融应用、时间管理工具还是数据可视化等领域,都需要对这些概念有深入的了解。

通过本文提供的丰富示例代码,可以更全面地掌握JavaScript中数字与日期的知识,从而更自信地处理实际的编程任务。在数字方面,了解基础运算、处理精度问题以及格式化和转换等操作,可以避免常见的陷阱。而在日期方面,掌握创建、操作和格式化日期对象的方法,以及时间戳的应用,能够使我们更灵活地处理各种时间场景。

综合而言,深入了解JavaScript中数字和日期的特性,有助于提高代码的可读性、可维护性,为开发者在实际项目中取得更大的成功提供了坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/163508.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【RocketMq系列-01】RocketMq安装和基本概念

RocketMq系列整体栏目 内容链接地址【一】RocketMq安装和基本概念https://zhenghuisheng.blog.csdn.net/article/details/134486709 RocketMq安装和基本概念 一,RocketMq安装和基本概念1,RocketMq基本安装(本地安装)2,Rocketmq的核心概念2.1&…

Linux使用ifconifg命令,没有显示ens33

Linux使用ifconifg命令,没有显示ens33 1.问题2.步骤2.1 查看虚拟机的组件是否启动了2.2 修改网络配置文件 ONBOOT修改为yes2.3 重启网络2.4 修改网络服务配置 3.解决 1.问题 打开虚拟机准备使用xshell连接时发现连接失败,在机器上查看ip发现ens33不现实…

Mysql主从搭建

Mysql主从搭建 1.Mysql下载1.1 查看操作系统2.2 下载mysql安装包 2.Mysql安装2.1 解压2.2 目录重命名2.3 创建data,存储文件2.4 创建用户组2.5 授权用户2.6 配置环境变量2.7 编辑my.cnf2.8 创建相关目录和文件2.9 初始化数据库2.10 复制mysql.server到/etc/init.d/下…

安卓环境搭建及运行安卓应用

1 jdk安装 安卓项目也是java开发的,运行在虚拟器上,安装jdk及运行的时候,就会带上虚拟器 jdk前面已经讲过,不在讲解 2 下载安装androj studio https://developer.android.google.cn/studio?hlzh-cn 下载下来,双击…

Shell脚本:Linux Shell脚本学习指南(第一部分Shell基础)一

你好,欢迎来到「Linux Shell脚本」学习专题,你将享受到免费的 Shell 编程资料,以及很棒的浏览体验。 这套 Shell 脚本学习指南针对初学者编写,它通俗易懂,深入浅出,不仅讲解了基本知识,还深入底…

数据采集与大数据架构分享

实现场景 要实现亿级数据的长期收集更新,并对采集后的数据进行整理和加工,用于人工智能的训练数据素材集。 数据采集 java支持的爬虫框架还是有很多的,如:webMagic、Spider、Jsoup等添加链接描述 pipeline处理管道 数据并发开发…

供应链|顶刊MSOM论文解读:服务竞争下的库存共享

问题背景 在汽车、玩具等行业中,零售商之间的库存共享变得十分常见。库存共享可以解决由需求不确定导致的库存错配问题。如果零售商之间同意共享库存,那么当需求较少、自身库存过剩时,可以将过剩库存卖给其他零售商;反之&#xf…

WinForms C# 导入和导出 CSV 文件 Spread.NET

使用 WinForms C# 和 VB.NET 导入和导出 CSV 文件 2023 年 11 月 17 日 使用 Spread.NET 直接在 .NET WinForms 应用程序中处理 CSV 文件。 Spread.NET可帮助您创建电子表格、网格、仪表板和表单。它包括一个强大的计算引擎,具有 450 多个函数以及导入和导出 Micros…

iptables详解:链、表、表链关系、规则的基本使用

目录 防火墙基本概念 什么是防火墙? Netfilter与iptables的关系 链的概念 表的概念 表链关系 规则的概念 查询规则 添加规则 删除iptables中的记录 修改规则 更详细的命令(5链4表) 防火墙基本概念 什么是防火墙? 在…

在VS Code中使用VIM

文章目录 安装和基本使用设置 安装和基本使用 VIM是VS Code的强大对手,其简化版本VI是Linux内置的文本编辑器,堪称VS Code问世之前最流行的编辑器,也是VS Code问世之后,我仍在使用的编辑器。 对VIM无法割舍的原因有二&#xff0…

Python中,我们可以使用pandas和numpy库对Excel数据进行预处理,包括读取数据、数据清洗、异常值剔除等

文章目录 一、什么是数据预处理二、对excel数据进行详细的数据预处理操作总结 一、什么是数据预处理 数据预处理是一种对数据进行清洗、整理、转换等操作的过程,旨在提高数据质量,使其适应模型的需求,从而改进数据挖掘或机器学习的结果。 数…

【LLM】基于LLM的agent应用(更新中)

note 在未来,Agent 还会具备更多的可扩展的空间。 就 Observation 而言,Agent 可以从通过文本输入来观察来理解世界到听觉和视觉的集成;就 Action 而言,Agent 在具身智能的应用场景下,对各种器械进行驱动和操作。 Age…

从0开始学习JavaScript--JavaScript 字符串与文本内容使用

JavaScript中的字符串和文本内容处理是前端开发中的核心技能之一。本文将深入研究字符串的创建、操作,以及文本内容的获取、修改等操作,并通过丰富的示例代码,帮助读者更全面地了解和应用这些概念。 JavaScript 字符串基础 字符串是JavaScr…

Nacos注册表解读

基本介绍 在 Nacos 中,注册表是其中一个重要的组件,用于管理服务的注册和发现。 注册表是一个存储服务实例信息的数据库,它记录了所有已注册的服务实例的相关信息,包括服务名称、IP 地址、端口号等。 通过注册表,服…

定时获取公网ip并发送邮件提醒

前一段时间路由器刷的老毛子固件“穿透服务”中定时更新阿里DDNS失败了,用了很久第一次遇到。所以需要做个备用的措施用来实时获取公网ip信息 1、基于python实现 开启邮箱的SMTP功能拿到授权码(不是登录密码) #!/usr/bin/python # -*- coding: UTF-8 -*- import …

2023年中职“网络安全“—Web 渗透测试①

2023年中职"网络安全"—Web 渗透测试① Web 渗透测试任务环境说明:1.访问地址http://靶机IP/task1,分析页面内容,获取flag值,Flag格式为flag{xxx};2.访问地址http://靶机IP/task2,访问登录页面。…

判断序列值是否单调递增 PandasSeries中的方法:is_monotonic_increasing

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 判断序列值是否单调递增 PandasSeries中的方法: is_monotonic_increasing 选择题 请问下列程序运行的的结果是: import pandas as pd s1 pd.Series([1, 2, 5]) prin…

机器学习赋予用户“超人”的能力来打开和控制虚拟现实中的工具

原创 | 文 BFT机器人 最近,剑桥的研究人员开发了一种虚拟现实应用程序,只需用户手部的移动即可打开和控制一系列3D建模工具。 来自剑桥大学的研究人员利用机器学习开发了“HotGestures”类似于许多桌面应用程序中使用的热键(快捷键&#xff…

Python (十二) 模块、包

模块 模块是以 .py后缀的文件,包含所有定义的函数和变量的文件。 模块可以被别的程序引入,以使用该模块中的函数等功能,如python 标准库、第三方模块等。 导入模块用关键词-import,from ...import 引入python标准库math模块 import math #调用…

Portraiture2024PS/LR专用智能磨皮插件,AI算法美颜,提高P图效率

ps皮肤美白磨皮滤镜有吗?ps本身无自带美白磨皮滤镜,虽然部分滤镜有磨皮、提亮功能,但往往需要搭配蒙版、通道功能使用。但ps可安装第三方软件,比如常用的磨皮插件portraiture3,那么,磨皮插件portraiture3怎…
最新文章