规则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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。
[外链图片转存中…(img-lVkiP3YK-1713501253596)]
[外链图片转存中…(img-02EjdObf-1713501253596)]