逆战班学习:第37天

一、数据类型转换
1、typeof 判断数据类型
typeof 数据 返回数据的类型
例如 type “aaa” 返回string,得到string
var a;
console.log(typeof a); 因为没有赋值,所以它是undefined

var b=null
 console.log(typeof b); b的类型是object 

2、强制转换
定义:主动将数据的类型强制转换为某种类型
(1)强转字符串
String(数据) 强制转换为字符串
数据.toString(进制) 强制转换为字符串
说明:null和undefined是不能转换的
toString可以将任何数字转换为任意进制,进制必须大于等于2并且小于等于36
也就是最小是2进制,最大是36进制,因为数字字母就36个
toFixed(小数点后几位) 将数值转换为字符串,并且按照小数点四舍五入保留位数
强转数据
(2)Number(数据)
NaN 非数值 类型是number
转换前 转换后 备注
纯字符 NAN
纯数字 数字
部分数字,部分字符 NAN
布尔值 数字 true—>1 false—>0
Undefined NAN
Null 0
(3)强转为整数
parseInt(字符,进制) 可以将指定进制方式字符串转换为10进制数值,是toString()逆转换
转换前 转换后 备注
纯字符 NAN
纯数字 数字
部分数字,部分字符 通过parseInt转换数值可以从开始转换到字符前为止变成数值,如果第一位是字符,返回NaN

布尔值 NAN
Undefined NAN
Null NAN

(4)强转为小数
parseFloat(); 强转小数和parseInt类似,只不过可以保留小数位

(5)转换为布尔值
Boolean(数据) 转换为布尔值
“” (空字符),0, false,undeined,null,NaN
转换为布尔值都会变成false,除此之外转换都是true
二、 隐式转换
定义:当数据类型不相同时,做数据的运算,就会自动将两端的数据转换为相同类型然后运算,这是隐式转换
隐式转换遵从与 String() 、Number() 、Boolean()
三、算术运算符
+ - * / %
说明:+ 加法
- 减法
* 乘法
/ 除法
% 取余 取模运算
1、 + 分为字符相加 和 数值相加
字符相加 就是将字符首尾相连,字符合并
字符和字符串有什么区别 字符 单个字母 字符串 多个字母组成字串
如果字符和非字符相加,会自动将非字符隐式转换为字符 String()
+ 非字符相加,按照隐式转换为数值,进行数值算术运算相加
2、 - * / %
- * / % 都是隐式转换为数值运算 不管有没有字符
四、赋值运算符
+= -= *= /= %=
赋值运算符就是在原数据的基础上进行累加 累减等操作
得到计算后的新值,原数据也会发生改变
console.log(e-10);//e的值没有发生改变 结果10 e:20
console.log(e-=10);//e的值发生改变 结果10 e:10
说明:a+="";//将数值转换为字符串;
五、一元运算符
一元运算符 全部隐式转换为数值运算
a++和++a有什么区别
运算后a的值没有区别,但是++a返回的结果是累加之后的,
a++返回的结果是累加之前的
打印a++的结果,这个结果就是返回a自增1之前的值。。。。a是1,所以返回的结果是1,
打印++a的结果,这个结果是先计算a+1赋值给a,然后打印这个a+1的结果 2
总结:++a先加后用,a++先用后加
六、关系运算
> >= < <= == ===
说明:隐式转换将内容转换成数值;
(1)如果都是字符时,通过utf-8转换成码值,码值比较
(2)没办法比较时,结果就是false
例如:console.log(undefined>null);结果为false;
(3)当两个不同类型使用比较时,先隐式转换将两个数据转换为相同类型,然后比较
(隐式转换为数值)
(4)null本身是没有值,切段引用关系
null特殊不比较这个值
(5)强记
因为这两个都没有值:
console.log(null
undefined);
以下三个是true
console.log(""0);
console.log(""false);
console.log(0
false);
(6)console.log(NaN
NaN);非数值永远不相等
(7)var b=isNaN(Number(“5a”));
console.log(b);
此时b是true就是非数值,b是false就是数值
(8) =不隐式转换,判断数据的值和类型必须完全相同才可以
(9)尽量不要写
,都写成===
(10)!= 不等,!== 绝对不等
七、逻辑运算
与&&
或||
非 !
(1)典例
var a=2;
var sum= (a-=2) || 10;
var sum= a-=2 || 10;
注:如果没有括号 a-=2 的结果直接赋值给sum

   var sum= (a-=2) || 10;
   var sum=   0 || 10;

    var sum= a || 6;
    console.log(sum); 

   注: true && true  ===返回的结果是第二个值
    true || true  ===返回的结果是第一个值

(2)
值1 运算符 值2 结果
True && True 第二个true
True && false false
false && true false
false && false 第一个false
True || True 第一个True
True || false true
false || true true
false || false 第二个false

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值