JavaScript中加号操作符细节

规则2:数字加法运算

// number + number = number (addition)

var result = 10 + 5;

console.log(result);// 15

JavaScript可以使用 object 、 array 、 null 或者 undefined 上使用操作符。接下来,我们看看使用这些的规则和细节。

使用规则

来看看下面的一些示例,了解JavaScript中如何通过操作符转换一些类型:

operand + operand = result

规则1:如果操作符数中有一个对象,它将转换为原始值( string 、 number 或 boolean )

规则2:如果操作符数中有一个字符串,第二个操作数将转换成字符串,并且连接在一起转换成一个字符串

规则3:在其它情况之下,两个操作数转换为数字并且将执行加法运算

对象转换的规则:

如果对象类型是一个 Date ,可以使用 toString() 方法

在其它情况下使用 valueOf() 方法,它将返回一个原始值

如果 valueOf() 方法不能将它返回一个原始值,可以使用 toString() 方法。而这种情况大部分情况下都会发生

如果两个操作数是原始类型,那么操作符将会作检查,如果至少一个操作数是字符串的话,将会把它们当字符串连接在一起。在其它情况之下,只会把操作数当作数字,并且做加法运算。

学习示例

下面的示例帮助你更好的理解加法操作符,同时能了解一些更复杂情况之下如何时转换。

示例1: 数字和字符串

var result = 1 + “5”; //“15”

1 + “5” :根据规则2,第二个操作数是一个字符串,那么数字 1 将会变成字符串 “1”

“1” + “5” : 字符串连接

“15”

第二个操作数是一个字符串。第一个操作数把 number 转换成 string ,然后将它们连接在一起。

示例2: 数字和数组

var result = [1,3,5] + 1; // “1,3,51”

[1,3,5] + 1 : 根据规则一,数组 [1,3,5] 将原始值转换出来 “1,3,5”

“1,3,5” + 1 : 根据规则二,数字 1 将会转换成字符串 “1”

“1,3,5” + “1” : 字符串连接

1,3,51

第一个操作数是一个数组 array ,它将值转换为字符串,第二个操作数是数字,它将值转换为字符串,然后将两个字符串连接在一起。

示例3: 数字和布尔值

var result = 10 + true; // 11

10 + true : 根据规则三,布尔值 true 将转换为数字 1

10 + 1 : 数字做加法运算

11

因为两个操作数都不是字符串,布尔值将转换为数字符,然后作数字加法运算。

示列4:数字和对象

var result = 15 + {};//“15[object Object]”

15 + {} : 第二个操作数是一个对象,根据规则一和对象转换为字符串 [object Object]

15 + “[object Object]” : 根据规则二,数字 15 转换为字符串 “15”

“15” + “[object Object]” : 字符串连接

“15[object Object]”

第二个操作数是一个对象,它将转换为一个字符串。因为 valueOf() 方法返回的是对象本身,而不是一个原始值,使用 toString() 方法,它返回的是一个字符串。

第二个操作数转换之后是一个字符串,此时数字也将转换为一个字符串,然后两个操作数做字符串连接。

示例5: 数字和 null

var result = 8 + null; //8

8 + null : 因为操作数没有字符串,根据规则三, null 将转换为数字 0

8 + 0 : 两个数字做加法运算

8

如果操作数不是对象或字符串时, null 将转换为数字,然后做数字的加法运算。

示例6: 字符串和 null

var result = “queen” + null; // “queennull”

“queen” + null : 因为第一个操作数是一个字符串,根据规则二, null 将转换为一个字符串 “null”

“queen” + “null” : 字符串连接

“queennull”

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里免费领取前端全套学习资料

css源码pdf

JavaScript知识点
习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里免费领取前端全套学习资料

[外链图片转存中…(img-lVkiP3YK-1713501253596)]

[外链图片转存中…(img-02EjdObf-1713501253596)]

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值