~~和Math.floor有什么区别?

news/2024/12/20 9:32:42/文章来源:https://www.cnblogs.com/ai888/p/18618418

在前端开发中,~~Math.floor 都可以用于取整,但它们的工作原理和结果在某些情况下是不同的。

  1. ~~ 操作符

    • ~~ 是一个双位非操作符,它首先对一个数字进行一次位非操作,然后再进行一次。这个操作的效果是将浮点数转换为整数,但它并不是简单的向下取整,而是向零取整。也就是说,对于正数,它会向下取整,对于负数,它会向上取整。这种行为类似于 JavaScript 的 Math.trunc 函数。
    • 例子:~~4.9 会返回 4~~-4.9 会返回 -4
  2. Math.floor 函数

    • Math.floor 是一个 JavaScript 内置函数,用于对一个数进行向下取整。也就是说,它会返回不大于一个给定数字的最大整数。
    • 例子:Math.floor(4.9) 会返回 4Math.floor(-4.9) 会返回 -5

主要区别

  • 对于正数,~~Math.floor 的效果是相同的,都会向下取整。
  • 对于负数,~~ 是向零取整,而 Math.floor 是向下取整。这是两者之间的主要区别。

在前端开发中,选择使用哪种方法取决于你的具体需求。如果你需要始终向下取整,无论数字是正还是负,那么应该使用 Math.floor。如果你需要向零取整,那么可以使用 ~~Math.trunc(如果你的环境支持这个函数)。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Avalonia 国际化之路:Resx 资源文件的深度应用与探索

在当今全球化的软件开发浪潮中,应用的国际化(i18n)与本地化(L10n)显得尤为重要。Avalonia UI 作为一款强大的跨平台 UI 框架,为开发者提供了多种实现国际化的途径。其中,使用传统的 Resx 资源文件进行国际化处理,不仅兼容了原 Winform、WPF、ASP.NET Core 等开发场景下…

茶饮门店管理新篇章:板栗看板的实践与启示

茶饮企业可以通过板栗看板实现门店管理的优化和效率提升。从创建团队与看板、设置任务与分配、团队协作与沟通、进度跟踪与数据分析到优化与改进以及安全性能保障等方面入手,全面提升门店管理的水平和效率。近期,库迪咖啡以一种创新的“嵌入式”模式迅速扩展,其门店纷纷入驻…

修改网站首页排序,网站首页内容排序方法

修改网站首页内容的排序通常涉及以下几个步骤:登录后台:使用管理员账号登录网站后台。 找到内容管理:在后台导航中找到“内容管理”或“文章管理”。 编辑内容:选择需要排序的内容,点击“编辑”按钮。 设置排序:在编辑页面中,找到排序选项,设置内容的顺序。常见的排序方…

错误码:NET::ERR_CERT_AUTHORITY_INVALID,解决浏览器提示证书无效的问题

当您在访问某个网站时遇到“NET::ERR_CERT_AUTHORITY_INVALID”错误时,这意味着浏览器认为该网站的SSL证书不是由受信任的证书颁发机构(CA)签发的。这可能是由于多种原因造成的,包括证书过期、自签名证书、中间证书缺失等。以下是一些解决方法:检查证书颁发机构:确认证书…

PbootCMS在阿里云主机上邮件发送失败,提示“服务器已经禁用stream_socket_client和fsockopen函数”,如何解决?

当你在阿里云主机上使用PbootCMS时,如果遇到邮件发送失败,并且提示“服务器已经禁用stream_socket_client和fsockopen函数,请至少开启一个才能发送邮件!”的错误,这通常是因为阿里云主机的安全策略禁用了这些函数。以下是详细的解决步骤:登录阿里云管理后台:打开浏览器,…

高效与安全并重:高科技企业如何借助跨网文件交换系统实现双赢!

高科技企业在运营和发展过程中,会积累大量重要的核心数据,这些数据对于企业的技术创新、市场竞争优势以及商业机密保护至关重要。为了保障自身的信息安全、保护知识产权和核心数字资产,高科技企业通常会通过防火墙、网闸、虚拟化等方式,实施企业内网和外网隔离。实施网络隔…

南通知识付费分销系统搭建

图源 www.tuzhi.ltd在当前的教育和软件领域,知识付费模式正在逐渐普及,成为教育和培训行业的重要趋势之一。尤其在数字化转型的大潮中,在线教育系统的作用日益凸显,其为教学者和学习者之间的知识交流搭建了桥梁。以南通为例,当地的教育机构、老师甚至企业都纷纷尝试采用更…

使用STM32定时器输入捕获的一些记录

(最近在学习六步换相驱动直流无刷电机,记录一下其中陌生的定时器功能) 英文标识含义TIx:通道CHx的外部输入信号;霍尔传感器接口 霍尔传感器接口大概功能逻辑:将CH1~3的输入连接到异或器,输出TI1,实现同时对三个信号的边沿检测; TI1经过滤波、边沿检测 -> TI1F_ED信…

AI应用实战课学习总结(2)hello sk-learn

本文快速搭建了Python机器学习的开发环境,并通过一个简单的降维示例学习了scikit-learn的基本用法,完成了一个hello world程序。大家好,我是Edison。 最近入坑黄佳老师的《AI应用实战课》,记录下我的学习之旅,也算是总结回顾。 今天是我们的第2站,了解下scikit-learn框架…

好消息,在 Visual Studio 中可以免费使用 GitHub Copilot 了!

前言 今天大姚给大家分享一个好消息,GitHub Copilot 可以免费使用了!在此之前若开发者要使用 GitHub Copilot 需要付费订阅,每月订阅费用起步价为 10 美元,而经过验证的学生、教师和开源项目维护者则可以申请免费使用。今天咱们一起来看看在 Visual Studio 使用 GitHub Cop…

读图数据库实战笔记08遍历与子图

遍历与子图1. 使用熟路构建遍历 1.1. 为了避免把开发遍历和构建应用程序混淆1.1.1. 把遍历的编写和测试与应用程序的开发拆分成了两个独立的操作1.1.2. 在Java代码之外独立开发遍历,然后把它们加入应用程序中1.1.3. 现实情况是,大多数开发人员会同时完成两者,不管使用的是哪…

使用css实现圆形的头像的效果(注:要考虑正方形、长方形情况)

在前端开发中,我们经常需要将用户的头像显示为圆形。这可以通过CSS的 border-radius 属性来实现,该属性允许你设置元素的圆角。当 border-radius 设置为 50% 时,无论图片是正方形还是长方形,都会得到一个圆形的效果。但需要注意,长方形图片被裁剪为圆形时,会显示为椭圆形…