通用JS十——递增/递减操作符

#操作符

ECMA-262描述了一组可用于操作数据值的操作符,包括数学操作符如加、减、位操作符、关系操作符和相等操作符等。  

在应用给对象时,操作符通常会调用valueOf()和/或toString()方法来取得可以计算的值。

##一元操作符

只操作一个值的操作符叫做一元操作符。

###1、递增/递减操作符

分为前缀版和后缀版,如(++age, age++)

无论使用前缀递增还是前缀递减操作符,变量的值都会在语句被求值之前改变。(在计算机科学中,这通常被称为具有副作用)

 

 

 前缀递增和递减在语句中的优先级是相等的,因此会从左到右依次求值。比如:

 

 

递增和递减的后缀版本语法一样(分别是++和--)。后缀版和前缀版的主要区别在于,后缀版递增和递减在语句被求值后才发生。

 

 

 这四个操作符可以作用于任何值,意思是不限于整数——字符串、布尔值、浮点值、甚至对象都可以。递增和递减遵循如下规则:

1.对于字符串,如果是有效的数值形式,则转换为数值再应用改变。变量类型从字符串变成数值。

2.对于字符串,如果不是有效的数值形式,则将变量的值设置为NaN。变量类型从字符串变成数值。

3.对于布尔值,如果是false,则转换为0再应用改变。(如果是true,则转换为1再应用改变)变量类型从布尔值变成数值。

4.对于浮点值,加1或减1。

5.如果是对象,则调用其valeOf()方法取得可以操作的值。如果是NaN,则调用toString()并再次应用其它规则。变量类型从对象变成数值。

 

posted @   举个栗子走天下  阅读(359)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2020-09-29 vue项目中封装axio接口
点击右上角即可分享
微信分享提示