day10

数据雷星转换

强制转换数值

1.空字符串“”false、null强制转换为数值时是零,

2.字符串中如果没有任何字符全部都是空格或者字符串中全部是0,强制转换为数值是0.

3.如果字符串中只有数值没有其他任何字符 强转为数值就是数值,如果首位有空格,中间没有空格,全是数值也是可以转换为数值的

4.布尔值true强制转换为数值后是1

5..如果字符串中有非数值字符或者数值间有空格,强转为数值后都是NaN(数值类型的非数值)

6.undefined和任何对象转换数值都是NaN

强转布尔型

1.false、0、“”、NaN、undefined、null这六种强转为布尔型,结果都是false

2.除了上述以外的其他类型强转为布尔值都是ture(数组暂时不考虑)

强制强转为对象

任何类型强转为对象,都是该类型的对象类型

除了强制转换为类型外,数值和字符串都提供一些特殊方法可以针对数值转换或者字符串转换

字符串转换为数值的

按照指定的进制将该进制类型的字符串转换为整数
parseInt (要转换的字符串,按什么进制转换)
如果没有写按什么进制转换,默认按照十进制转换

这种自动的强转为字符串的方式叫做隐式转换

在js中小数点运算是会出现误差错误的

误差的原因是因为二进制在运算小数点时会产生误差,因此处理小数点运算时需要考虑这些问题

将字符串转换为浮动数,含有小数,既然含有小数,就不能考虑进制问题

parsefloat(要转换为小数的字符串)

如果给入一个非字符类型,就会先隐式转换为字符类型后再计算

将数值转换为字符串

数值.toSting(进制类型)    将数值转换为对应的进制字符串

toFixed(保留几位小数)

将数值转换为字符串,并且保留几位小数,会自动进行四舍五入

除了+运算以外的所有算数运算,都自动动隐式转换将两端转换为数值然后运算

两个星号就是几次幂

赋值运算符

+=就是给原来的变量累加一个值,并且重新赋值这个变量

1.任何运算符都是1有返回值的,赋值运算符的返回值就是赋值后的变量结果

var a=2 ;
console. log(a+=2);


2、在赋值运算符中+=和算术运算符中+=  和算术运算符中+   运算规则相同
// var a=3;
// a+="";//快速将个变量转换为字符型
// console. log(a);//"3"
3.赋值运算符的优先级很低,因此我们先要运算赋值运算符后面的内容再做赋值运算

先把后面加起来,然后拿上面的数和他相乘得出结果十五

一元运算符

1.在使用++运算符时,不管原变量是什么类型的值都会隐式转换为数值运算

null是零

{}空括号代表的是NaN

2.任何运算符都有返回值的,因此++  --也会有返回值,++可以放在变量的前面,也可以放在变量的后面

当++放在变量的前面时,返回值就是运算+1后的结果返回,如果+ +放在变量的后面,返回值先返回变量值后才会+1

++放在变量的前面或者放在变量的后面都不会影响这个变量最终的结果
var a=3;
++a; 
a++ ;

这是一个案例题   也是一个面试题

3.++   --的优先级较高

++在前先加再乘      ++a=1+3

比较运算符

判断运算符返回的结果都是布尔值,如果成立返回true,不成立返回false

字符串比较大小时,先将字符串转换为ASCII码,然后根据码值进行比较

有多个字符时按顺序比较每个字符

类型不同时,首先将字符串转换为数值,然后再进行N比较

NaN和任何东西比较都是false

==   ===   ==会优先将等号两端的;类型转换为相同的类型,然后再进行比较

===先判断类型是否相同,如果类型不同返回false,如果类型相同再判断是否相同

3.数值和字符串比较时,将字符串转换为数值,然后比较

4..对象的比较是根据引用地址比较(暂时不说)

逻辑运算符

与只返回值对应的值

先将&&两端的值转换为布尔值

0  “”false  undefined NaN null 强制转换为布尔值后都是false,其他都是true

true与ture会返第二个ture值

false与false得到第一个false的值
 

??和  | |类似

在|  |的情况下,如果转化为布尔值false的情况下处理按照||的处理法则

在??的情况下,如果值是underfind或者null才按照||的处理法则

??如果第一个是null或者nudefind,不敢后面是什么直接返回后面的

!是逻辑非     如果先将值转换为布尔值,然后去反        true——>false    false_——>true

逻辑非的优先级很高

任何引用类型  {}   【】 转换为布尔值都是true

位运算

     &位于      | 位或  ^位异域  ~位非   <<左移     >>右移

所有的位运算都是基于2进制处理的

先把数值转化为2进制,然后按位对比运算,按照上面的规则

任何数与1    3    7    15 

相当于任何数与2    4     8     16取余数

任何数与二的n次幂减一2**n-1

等同于任何数与2**n取模 

位或运算|

^位异域

用于加密减密

~位非     +1取负

如果不是数值位非变为零  +1 取负

小数点不参与位运算

双位非得到原值

取整运算

使用双位非后得到的结果必定是一个整数      负整数     0    正整数

<<    >>   将数值转化为二进制      左移位就是在二进制后面补零    右移位就是删除后面的值

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值