首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript一元操作符

一、操作符

ECMA-262描述了一组用于操作数据值的操作符,包括算术运算符(如加号和减号)、位操作符、关系操作符和相等操作符。ECMAScript操作符的与众不同在于,它们能够适用于很多值,例如字符串、数字值、布尔值,甚至对象。不过,在应用对象时,相应的操作符通常都会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值。

二、一元操作符

只能操作一个值的操作符叫做一元操作符,一元操作符是ECMAScript中最简单的操作符。

(一)、递增++和递减--操作符

递增和递减操作符直接借鉴自C,而且各有两个版本:前置型和后置型。

顾名思义,前置型应该位于要操作的变量之前,而后置型应该位于要操作的变量之后。执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。(在计算科学领域,这种情况通常被称作副效应)

由于前置递增和递减操作与执行语句的优先级相等,因此整个语句会从左至右被求值。

后置型递增和递减操作符的语法不变,只不过要放在变量的后面,后置操作符和前置操作符有一个非常重要的区别,即递增和递减操作是在包含它们的语句被求值之后才执行的。

递增和递减操作符不仅适用于整数,还可以用于字符串、布尔值、浮点数值和对象。在应用于不同的值时,递增和递减操作符遵循下列规则:

在应用于一个包含有效数字字符的字符串时,现将其转换为数字值,再执行加减1的操作。字符串变量变成数值变量。

在应用于一个不包含有效数字字符的字符串时,将变量的值设置为NaN。字符串变量变成数值变量。

在应用于布尔值false时,先将其转换为0再执行加减1的操作。布尔值变量变成数值变量。

在应用于布尔值true时,先将其转换为1再执行加减1的操作。布尔值变量变成数值变量。

在应用于浮点数值时,执行加减1的操作。

在应用于对象时,先调用对象的valueOf()方法以取得一个可供操作的值,然后再对该值应用前述规则。如果结果是NaN,则在调用toString()方法后再应用前述规则。对象变量变成数值变量。

(二)、一元加+减-操作符

一元加和减操作符主要用于基本的算术运算,也可以用于转换数据类型。一元加操作符放在数值前面,对数值不会产生任何影响。一元减操作符主要用于表示负数。不过,在对非数值应用一元操作符时,该操作符会像Number()转型函数一样对这个值执行转换。具体可以参照Number()转型函数的转换规则。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190213A0SD2O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券