javascript中string与number相加得到字符串,相减却是数字 您所在的位置:网站首页 js数字相加变成字符串相加 javascript中string与number相加得到字符串,相减却是数字

javascript中string与number相加得到字符串,相减却是数字

2024-07-11 08:59| 来源: 网络整理| 查看: 265

原理

javascript是一门弱类型语言。

弱类型语言 是相对强类型语言来说的,在强类型语言中,变量类型有多种,例如int char float boolean 等,不同的类型相互转换有时需要强制转换。 javascript只有一种类型var ,为变量赋值时会自动判断类型并进行转换,所以javascript是弱语言。 在别的编程语言中,会对变量的类型有严格的限制,之间的转换也有规定。开始定义一个变量,是整型它就只能是整型,是字符串它就必须是字符串。 而JS就不同了,变量声明的时候不用规定是什么类型的,用的时候它自己根据你赋的值判断。

javascript虽然是一门弱类型语言,但还是有自己的数据类型,其中,

基本数据类型有:number、string、boolean、undefined、null 引用类型有:object、function

举个例子:

var a = "100"; var b = 11; var c = 9; console.log(a+b); console.log(typeof(a+b)); console.log(a+b-c); console.log(typeof(a+b-c));

输出结果为: 10011 string 10002 number

这是因为在javascript做运算时,会进行隐式转换。a为string类型,b为numer进行相加运算,首先会先将b转换为string类型,进行字符串的拼接运算。a+b运算之后得到的是一个string类型的10011,这时再跟c去做减法,显然字符串减number是行不通的。这时就会把string类型转换为number再去做减法运算。

如有问题请联系我~

欢迎加入QQ群: 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有