`
flyfox1982
  • 浏览: 78083 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript 一元正号运算符

阅读更多

本文适合JavaScript初学者。

一元正号介绍

一元正号运算符(+)位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。

转换字符串

一元正号可以用于转换数值字符串为数字,比如如下代码:

"123" // 123"12.3" // 12.3

也可以转换二进制、16进制数值、自然底数的字符串:

"0x11" // 17"0b11" // 3"1e10" // 10000000000

看起来 和parseFloat功能类似,但是parseFloat支持字符串后面部分不为数字的情况,一元正号却不行,比如:

parseFloat("1px"// 1"1px" // NaN

如果是空字符串或者多个空格组成的字符串,一元正号会转换为0,parseFloat 结果为NaN

 + ' ' // 0
parseFloat(' '// NaN

负数形式字符串也可以转换成数值,但是对于十六进制 二进制不适用,对于自然底数适用(parseFloat 都适用):

+'-123' // 123"-0x11" // NaN"-0b11" // NaN"-1e10" // -10000000000

转换日期对象

一元正号转换日期对象为数字,得到时间戳,比如如下代码:

new Date(); // 1561020101609

相当于如下代码:

new Date().getTime(); // 1561020101609

转换null、undefined、NaN

一元正号会把null转换为0,undefined 转换为NaN。一元正号施加于NaN,结果还是NaN。代码如下:

null // 0undefined // NaNNaN // NaN

转换布尔值

一元正号会把true 转换为1,false转换为0:

true;// 1false;// 0

转换数组

一元正号会把空数组[],转换为0。如果数组只有一个元素,切第一个元素为数字或者字符串,会对第一个元素进行转换,如果有多个元素,返回NaN,代码如下:

+ []// 0
+ ['123'// 123
+ [true// NaN
+ [1,2// NaN

总结

一元正号运算符对于数字字符串和日期的转换比较适用。

欢迎关注公众号“ITman彪叔”。彪叔,拥有10多年开发经验,现任公司系统架构师、技术总监、技术培训师、职业规划师。熟悉Java、JavaScript。在计算机图形学、WebGL、前端可视化方面有深入研究。对程序员思维能力训练和培训、程序员职业规划和程序员理财投资有浓厚兴趣。

ITman彪叔公众号ITman彪叔公众号

0
0
分享到:
评论

相关推荐

    JavaScript一元正号运算符示例代码

    主要给大家介绍了关于JavaScript一元正号运算符的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    JavaScript课件-03.pptx

    可用于学生,教师的JavaScript基础教程 , 表达式与运算符, 表达式与运算符,加法运算符 减法运算符 乘法运算符 除法运算符 模运算符 负号运算符 正号运算符 逻辑运算符

    6.第六章 运算符与表达式.txt

    单目运算符:又称一元运算符,即只有一个操作数的运算符。负号-、正号+、自增++、自减--、非!、sizeof、指针运算符、部分位操作运算符。 2.双目运算符:又称二元运算符,连接两个操作数。大部分运算符属于此类。 ...

    第03讲-Python基本数据类型、运算符及表达式.pptx

    整型数据即整数,不带小数点,可以有正号或者负号。在Python3.x中,整型数据在计算机内的表示没有长度限制,其值可以任意大。 (1)十进制整数 (2)二进制常数。以0b为前缀,其后由0和1组成。如:0b1001表示二进制...

    python基础学习day03.txt

    一元运算符 + (正号) - (负号) 条件表达式 1 + 2 if 5 > 6 else 4 + 5 pass 语句 pow 函数 x ** y 隐式换行 () [] {} day03笔记 字符串 str 作用 用来记录文本(文字)信息 字符串的表示方法 在非注释...

    复杂表达式的计算 代码

    输入一个含有运算符和运算函数的表达式,计算其结果。表达式中包括: ①数值:整数、实数②一般运算符:正号,负号,加、减、乘、除、求模、乘方、括号等

    c++带符号的大整数计算器

    将带符号大整数表示成两个值:一个是绝对值,用无符号大整数表示,一个是符号,用整形数表示,1表示正号,-1表示负号 重载输入和输出运算符>>和。带符号大整数以-12345678 90,1234567890668 这样的形式来输入和输出...

    c++编写的计算器 表达式求值

    表达式中包括:数值(整数、实数)、一般运算符(正号,负号,加、减、乘、除、求模、乘方、括号); 如输入: “123*(45.7/25-20^3+12.4*(123%4))” 2) 利用栈,根据各运算符的优先度进行数值计算,显示结果 3)...

    四则运算 Exp_Calculator_V2.6.rar

    Delphi源码(收集自网络) 波兰逻辑学家J.Lukasiewicz...+(正号)处理:用@代替,或者将其在字符串中删除 数学自然常数 e 与圆周率 pi 的用 (2.718281828459045) 与 (3.1415926535897932384) 代替(包含前后的括弧)

    【Java】Math.random()

    Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 for (int i = 0; i < 5; i++) { ...

    6数据结构模拟计算器.zip

    (2)运算符:正号、负号、加、减、乘、除、求模和乘方,其中可以包含括号。 【实现提示】 (1)从键盘输入要求解的算术表达式; (2)采用栈结构进行算术表达式的求解过程; (3)能够判断算术表达式正确与否;...

    6、模拟计算器.算术表达式的求解(源程序+文档+说明+总结)

    (2)运算符:正号、负号、加、减、乘、除、求模和乘方,其中可以包含括号。 【实现提示】 (1)从键盘输入要求解的算术表达式; (2)采用栈结构进行算术表达式的求解过程; (3)能够判断算术表达式正确与否; (4...

    求复杂表达式的值的算法

    表达式中包括:数值(整数、实数)、一般运算符(正号,负号,加、减、乘、除、求模、乘方、括号); 如输入: “123*(45.7/25-20^3+12.4*(123%4))” 利用栈,根据各运算符的优先度进行数值计算,显示结果

    算术表达式.cpp

    表达式中包括:数值(整数、实数)、一般运算符(正号,负号,加、减、乘、除、求模、乘方、括号); 如输入: “123*(45.7/25-20^3+12.4*(123%4))” 利用栈,根据各运算符的优先度进行数值计算,显示结果

    latex中的数学符号描述汇总

    latex中的数学符号描述的汇总 谁用谁知道

    模拟计算器

    主要内容: 设计一个模拟计算器程序,要求能对包含加、减、乘、除、括号运算符的任意整型表达式进行求解。要求:运算前应先检查有关运算条件,并对错误产生报警。

    2010年下软件设计师试题与答案

    自己收集整理的,pdf格式,希望对大家有用!

    只能输入数字小数点负号正则

    只能输入数字小数点负号正则.用于金额的验证等

    C语言程序设计标准教程

    + 输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号 # 对c,s,d,u类无影响;对o类, 在输出时加前 缀o 对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点 3.输出最小宽度 用十进制...

Global site tag (gtag.js) - Google Analytics