关闭

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

标签: javascript运算符强制类型转换
151人阅读 评论(0) 收藏 举报
分类:

强制类型转换

强制类型转换是指从一种类型隐式地转换成另一种类型。当调用运算符时,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
true true false


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

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


布尔运算符

&&(遇到false即停止)

||(遇到true即停止)

>0&&x

false

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

>1||x

true

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



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4477次
    • 积分:105
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条
    文章存档