javascript学习笔记(2):强制类型转换机制和运算符

强制类型转换

强制类型转换是指从一种类型隐式地转换成另一种类型。当调用运算符时,javascript会自动判断运算方法并对其进行强制类型转换。

下面来看一下强制类型转换时调用的一些函数


Boolean()

value:undefined、null、false、0、NaN、"",时为false

其他时候为true

注意:

>Boolean(new Boolean(false));

true

new Boolean(false):返回一个Object,Boolean(Object)=true

Number()

转转换成数字

undefined => NaN

null 、false => 0

true => 0

字符串会被解析(只会忽略开头和结尾空格,有特殊字符会解析为NaN)

>Number("123#")

NaN

建议使用ParseInt(ParseFloat):会一直解析到最后一个能解析的字符

>ParseInt("ads123dsa12123213");

123

对象会执行valueOf如果可以解析即为值,如果不能解析再调用toString方法,再解析


String()

将原始值转换成字符串

对象会先调用toString方法


Object()

对象会转换成它们自身

undefined 、 null =》 {}  (空)


Object.valueOf()=this 默认返回 this

Object.toString()='[object object]'默认返回数据类型

可以通过在对象中重载valueOf和toString方法来设置强制类型转换的值


运算符

严格相等(===)与宽松 相等(==)

严格相等必须要求比较的值必须是相同数据类型

普通想等会先尝试将两个不同类型的值进行转换,再使用严格相等来进行比较

注意:

>undefined===undefined>null===null>NaN===NaN
truetruefalse


加号运算符(字符串优先)

加号运算符会对他的运算数进行检测,如果其中一个是字符串,另一个也会转换成字符串,并进行拼接


布尔运算符

&&(遇到false即停止)

||(遇到true即停止)

>0&&x

false

不会执行到x,所以不会报错(x没定义)

>1||x

true

不会执行到x,所以不会报错(x没定义)



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值