js 函数式编程库,js 公式编辑器

本文介绍了JavaScript中的加、乘、取余运算符的隐式转换规则,特别关注了非数字类型参与运算的情况,以及如何处理特殊数值如Infinity和NaN。同时提到了Math.pow和Math.sqrt函数的用法。
部署运行你感兴趣的模型镜像

本篇文章给大家谈谈js 函数式编程库,以及js 公式编辑器,希望对各位有所帮助,不要忘了收藏本站喔。

一、加号 +

<>
        //隐式转换
        console.log(2+true);      //true -> 1,结果为3
        console.log(2+false);     //false -> 0,结果为2
        console.log(2+undefined); //undefined -> undefined,结果为NaN
        console.log(2+null);      //null -> 0,结果为2
        console.log(2+'null');    //发生字符串的拼接,结果为'2null'
        console.log(2+'33');      //发生字符串的拼接,结果为'233'
</>

二、乘号 *

<>
        //隐式转换
        console.log(2*true);      //true -> 1,结果为2
        console.log(2*false);     //false -> 0,结果为0
        console.log(2*undefined); //undefined -> undefined,结果为NaN
        console.log(2*null);      //null -> 0,结果为0
        console.log(2*'null');    //null无法转换为数字进行*运算,结果为NaN
        console.log(2*'33');      //'33'转换为数字类型的33,结果为2*33=66
</>

三、取余%

<>
        //隐式转换
        console.log(2%true);      //true -> 1,结果为1
        console.log(2%false);     //false -> 0,结果为NaN
        console.log(2%undefined); //结果为NaN
        console.log(2%null);      //null -> 0,结果为NaN
        console.log(2%'null');    //结果为NaN
        console.log(2%'33');      //'33'转换为数字类型的33,结果为2%33=2
</>

四、特殊数值的运算

<>
        //隐式转换
        console.log(Infinity+1000);      //无穷大加上一个数字,结果也是无穷大,为Infinity
        console.log(Infinity-1000);      //无穷大减去一个数字,结果也是无穷大,为Infinity
        console.log(Infinity/1000);      //无穷大除以一个数字,结果也是无穷大,为Infinity
        console.log(Infinity*1000);      //无穷大乘以一个数字,结果也是无穷大,为Infinity
        console.log(Infinity+Infinity);  //无穷大加上无穷大,结果也是无穷大,为Infinity
        console.log(Infinity-Infinity);  //无穷大减去无穷大,无法确定哪个无穷大更大,所以结果为NaN
        console.log(0/0);                //0除以0,结果为NaN
        console.log(3/0);                //3除以0,结果为Infinity
        console.log(NaN/3);              //NaN除以3,结果为NaN
</>

 

五、数学运算公式

Math.pow(n,m):n的m次方

Math.sqrt(n):n的开方

<>
        console.log(Math.pow(5,5)); //5的5次方
        console.log(Math.sqrt(16)); //16开方,为4
</>

总结:

1、加号运算符中,有字符串参与运算会发生字符串拼接,无字符串参与运算则其他类型的数据会转换为数字类型参与运算,无法转换则结果显示NaN;

2、其他运算符中,数字类型以外的其他数据类型都会转换为数字类型参与运算,无法转换则结果显示NaN;

注意:

在开发中,不要使用浮点数进行运算,因为js本质上都是浮点数,是转换为二进制进行运算,浮点数在转换为二进制的时候会发生精度上的错误;

解决方法:

可以使用浮点数乘以10或者10的n次方,运算之后,最后结果再除以相应的数值

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

【事件触发一致性】研究多智能体网络如何通过分布式事件驱动控制实现有限时间内的共识(Matlab代码实现)内容概要:本文围绕多智能体网络中的事件触发一致性问题,研究如何通过分布式事件驱动控制实现有限时间内的共识,并提供了相应的Matlab代码实现方案。文中探讨了事件触发机制在降低通信负担、提升系统效率方面的优势,重点分析了多智能体系统在有限时间收敛的一致性控制策略,涉及系统模型构建、触发条件设计、稳定性与收敛性分析等核心技术环节。此外,文档还展示了该技术在航空航天、电力系统、机器人协同、无人机编队等多个前沿领域的潜在应用,体现了其跨学科的研究价值和工程实用性。; 适合人群:具备一定控制理论基础和Matlab编程能力的研究生、科研人员及从事自动化、智能系统、多智能体协同控制等相关领域的工程技术人员。; 使用场景及目标:①用于理解和实现多智能体系统在有限时间内达成一致的分布式控制方法;②为事件触发控制、分布式优化、协同控制等课题提供算法设计与仿真验证的技术参考;③支撑科研项目开发、学术论文复现及工程原型系统搭建; 阅读建议:建议结合文中提供的Matlab代码进行实践操作,重点关注事件触发条件的设计逻辑与系统收敛性证明之间的关系,同时可延伸至其他应用场景进行二次开发与性能优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值