JavaScript数据类型转换的规则

一、数据类型转换的规则

1.1其它类型转为number

1.string->number
纯数字字符串->对应的数字
空字符串,纯空格字符串->0
其它->nan
2.boolean-> number
true->1
false->0
3.null->0
4.undefined->nan

1.2其它类型转为string

1.number->string
数字会作为字符串内容
2.boolearn->string
true->'true'
false->'false'
3.null->'null'
4.undefined->'undefined'

1.3其它类型转为boolean

1.number->boolean
0,nan-false
其它->true
2.string->boolean
空字符串->false
其它->true
3.null->false
4.undefined -> false

1.4强制类型转换
parseInt()、parseFloat() 与 Number() 转换规则的区别:

  1. parseInt()、parseFloat() 可以把以数字开头的字符串转为开头的数字(提取字符串中的数字)
  2. 空字符串、纯空格字符串和其他形式的字符串都是 NaN
  3. 布尔值、null、undefined 都会转为 NaN

parseInt 和 parseFloat 的区别:

  1. parseInt() 只提取字符串中数字里的整数部分
  2. parseFloat() 提取字符串中数字的整数部分加小数部分
其它类型转为number:
	number()
	parseInt()
	parseFloat()
其他类型转为 string:
	String()
	
其他类型转为 boolean:
	Boolean()

1.5自动类型转换
数据会根据当前所处的运算环境自动进行类型转换
运算环境由运算符决定。
算数运算符

+作为正号运算符,通常会用来把其他数据类型转为number
++,--运算符,运算符在表达式前面还是后面,表达式的值是不同的,
但是副作用是相同的。

关系运算符

1.==和===的区别
==相等可以进行数据类型转换
===全等,不会进行数据类型转换两个操作数类型不一致,直接返回false
2.==和null(特殊情况)
null==0;//false
null=='';//false
null==false;//false
null==undefined;//true
3.字符串比较
如果关系运算符的两个操作数都是字符串,安照字符串方式进行比较
比大小:一个字符一个字符的比,比的字符对应的ascii吗
判等:完全一致。

逻辑运算符

1.逻辑与&&组成的表达式的值:
如果第一个操作数是成立的,把第二个操作数作为表达式的值;
如果第一操作数不成立,把第一个操作数作为表达式的值。
2.逻辑或||组成表达式的值:
如果第一个操作数成立,把第一个操作数作为表达式的值
如果第一个操作数不成立,把第二个操作数作为表达式的值

赋值运算符

1.赋值运算符左边的操作数必须是个变量
2.赋值运算符更看重的是副作用

二、 分支结构

3.1 单向分支

if (条件表达式) {
    语句;
    语句;
}

3.2 双向分支

if (条件表达式) {
	语句;
    语句;
} else {
	语句;
    语句;
}

3.3 多向分支 else if

if (条件表达式) {
  	语句;  
} else if (条件表达式) {
    语句; 
} else if (条件表达式) {
    语句; 
} else if (条件表达式) {
    语句; 
} else {
    语句;
}

3.4 多向分支 switch case

switch (表达式) {
    case 表达式可能的值: 
        语句;
        语句;
        break;
    case 表达式可能的值: 语句; break;
    case 表达式可能的值: 语句; break;
    case 表达式可能的值: 语句; break;
    case 表达式可能的值: 语句; break;
    default: 语句;
}

break 的作用:

进入到 case 之后,执行语句,遇到 break 才停止,如果没有break会继续执行下面的 case,直到碰到 break。

3.5 嵌套分支

if (条件表达式) {
	if (条件表达式) {
	}
} else {
	switch (表达式) {
		case ...
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值