js隐式类型转化及运算

只有基本类型的数据下能进行运算
所有引用类型的数据,需要运算时候;先需要转化为基本类型数据; 再运算
所有引用类型数据只能转化为字符串.最后再由字符串转为其他类型

js数据类型类型分为基本数据类型和复合数据类型(引用数据类型)

基本数据类型:String Boolean Number Null  Undefined
复合数据类型(引用数据类型):数组Array  对象Object  函数Function

字符串与Number比较

先把字符串转化为number 再进行比较 。 有字符串,+属于拼接

var res = ('han' + 'll') - true + 1
	//转化过程:
	// res = ('hanll') -1 + 1  //  首先将字符串拼接 true转化成number
   // res  = NAN - 1 + 1; //字符串转number 不是number 所以返回NaN
   //NaN与任何数比较都是NaN
    console.log(res) //NaN
 var res1 = ('han'+'ll') + true + 1
   //转化过程:
	// res = ('hanll') +true + 1  //  在这边 +都是拼接
   // res  = hanll + true + 1; 
    console.log(res) //hanlltrue1

布尔与Number运算

布尔和数字进行比较时,字符串转换成数字,二者再比较

   var res = true + false
     console.log(res) //1+0 =1

数组和对象运算

空数组先转化为空字符串 再转化为0
有一个数字的数组 [‘1’] --> num
多个数字或者非数字先转化为字符串 然后 NaN

空对象转化成number是 NaN

   var res = ['1'] - {}    // NaN  1-NaN
     console.log(res) //NaN
   

数组与Number运算

  var res1 = ['1'] - 2 //1 -2 
     cosole.log(res1) //-1
     var res2 = [] - 1; //0-1 =-1
     cosole.log(res2) //-1

对象与字符串运算

在默认隐式转化中;所有的对象都转化为再[object object]

  var obj = {
            name:'小明',
            age:'12',
        }

      var res = obj+ '小红'
      console.log(res) //[object Object]小红
      
      var res = {}+'小红'  //[object Object]小红 + 拼接 不是运算
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值