JavaScript-2

1、数据类型的转换
2、运算符和表达式
==========================================
1、数据类型转换
1、弱类型
由数据来决定数据类型
var num;//undefined
num=12;//number
num="你好";//string
num=false;//boolean


强数据类型:由数据类型来决定数据


1 、typeof() 函数
作用:获取指定数据的数据类型
语法:
typeof(变量) 或者 typeof 变量;
使用:
var result = typeof(变量);
2、隐式转换
不同类型的数据在计算过程中会自动进行转换
特点:
任何一种数据类型的数据,再与string做“+”运算时,都会转换成 string,再做连接
NaN : Not a Number , 不是一个数字


函数:isNaN(数据)
作用:判断数据是否为 非数字类型(只判断数值,与类型无关) ,如果是非数字,返回true,是数字返回false


问题:将字符串25转换为 数字25,再做加法运算
3、强制转换(显示转换)
由JS提供的一组转换函数来完成数据类型的转换
1、toString()
转换成字符串,任一数据类型的数据均可转换为string类型
语法:数据(变量).toString()
2、parseInt(数据)
将数据转换为number类型(整数)
碰到第一个非整数字符,则停止转换
如果无法转换时,转换的结果为NaN
3、parseFloat(数据)
将数据转换为number类型(小数)
碰到第一个非小数点或数字字符,则停止换换
4、Number(数据)
将一个数据解析为number类型
注意:如果数据中包含非法字符,则返回NaN


Number("25") : 25
Number("25.5") : 25.5
Number("25.5abc") : NaN
2、运算符和表达式
1、运算符
做数据的运算
2、表达式
由运算符和操作数所组成的式子,称之为表达式
var a = 5;//赋值表达式
var b = 10;//赋值表达式
a+b;//算术表达式


注意:每一个表达式,都有值
console.log(a+b);


b=a=a+b;


console.log(a=a+b);
3、运算符分类
1、算术运算符
+,-,*,/,%

ex:
1、
var a="15";
var b="13";
var result=a-b;//2
注意:
-,*,/,%
如果两边的操作数不是number类型,会试图通过 Number()先进行转换,如果无法转换成Number类型,结果则为NaN


++(自增),--(自减)
++:在自己值的基础上做加1操作
--:在自己值的基础上做减1操作


var num=5;
num++; 作为后缀,先去使用变量的值,然后对其进行自增操作
++num; 作为前缀,先对变量进行自增操作,然后再使用变量的值


优先级:
先*,/,%,再+,-
想提升优先级:()


ex:
1、var result=35+2*18/3+12/6%4
            =35+12+2 = 49
2、var result=(35+2)*(18/(3+3))/6%4
            =37*3/6%4
2、关系运算符
1、运算符
>,<,>=,<=,==(判断等于),!=


===(全等),!==(不全等)


=== 与 ==的区别:
1、==
只判断数值,不判断类型
"35"==35 结果为 true
2、===
判断 类型以及数值 是否都相等
"35"===35 结果为 false


由关系运算符组成的表达式称之为关系表达式,关系表达式的结果都是boolean类型
2、特殊注意
1、字符串 和 数字比较大小关系时
先将字符串通过Number()转换成数字再进行比较
2、字符串 和 字符串比较大小关系时
实际上是比较每位字符的Unicode码
3、NaN参与关系比较时,结果一律为 false
3、isNaN 函数
判断一个数据是否为非数字
isNaN()
3、逻辑运算符
1、作用
多条件之间的判断关系
2、逻辑运算符
逻辑非 : !
逻辑与 : &&
逻辑或 : ||  


逻辑与:
判断两个条件,如果两个条件的值都为true的话,整个表达式的结果为true,如果有一个条件的结果为false,整个表达式的结果就为 false

逻辑或:
判断两个条件,两个条件中,有一个条件为true,那么整个 逻辑或 的结果就为 true,否则为 false(两个结果同时为false时)

逻辑非:
对现有条件结果进行取反
非真即假
非假即真

3、短路逻辑
1、&&(短路与)
如果第一个表达式的结果为false,那么第二个表达式就不用再判断,整个表达式的结果为 false
如果第一个表达式的结果为true的话,则继续判断第二个表达式的结果,并且以第二个表达式的执行结果作为整个逻辑表达式的结果。
2、||(短路或)
如果第一个表达式的结果为true的话,那么就不在继续执行第二个表达式,并且将 true作为整个逻辑表达式的结果。
如果第一个表达式的结果为false的话,则继续执行第二个表达式,并且将第二个表达式的计算结果作为逻辑表达式的结果
4、位运算
1、特点
1、做数字运算
2、将数字转换为二进制,再进行运算
2、运算符
1、&
按位 与,将两边的操作数转换成二进制,每位的数字,只有对应都为1的时候,该位的结果才为1,否则该位的结果就是0
ex:
5 & 3 ?

5:101
3:011
-----------
r:001
作用:判断一个数字的奇偶性,判断的数字与1做按位与

2、|
按位或,两边的操作数转换成二进制,比较每位上的数字,两个数中有1个是1的话,该位的结果为1,否则为0
场合:向下求整
求:5 | 3
5:101
3:011
=========
111
6.5 | 0
==>
6 | 0
6:110
0:000
3、<<
按位左移,将2进制数向左移动几位,后面以0补齐
ex:
2<<1 : 4
2<<2 : 8
2<<3 : 16


0000 0000 0000 0000
0000 0000 0001 0000
4、>>
按位右移,将2进制数向右移动几位,前面补0
8>>1 : 4
0000 0000 0000 0000
0000 0000 0000 0100
8>>2 : 2
8>>3 : 1
8>>4 : 0



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值