day5(Javascript)
1、数据类型
分原始类型和引用类型
原始类型分为数值型、字符串型、布尔型、未定义型(undefined)、null
1.数值型
分为整型和浮点型
整型在内存占4个字节,浮点型占8个字节
整型分为8进制(0开头)、10进制、16进制(0x开头)
浮点型分为指数型和普通
2.147e9
2、字符串类型
数据备引号锁包含就是字符串类型,不区分单双引号。
查看某一个字符的Unicode编码
't'.charCodeAt()
3、布尔型
在程序中表示 真或者假
true/false
常用于一些是否的结果
isVip、isOnsale、isLogin
4、未定义型
声明了一个变量,未赋值结果是undefined
5、空(null)
用于引用数据类型
检测数据类型
typeof()
number/string/boolean/undefined/object
2、数据类型转换
(1)隐式转换
①数字+字符串:数字转成字符串
1+'a' //'1a'
②数字+布尔型:布尔型转成数字 true-->1 false-->0
1+true //2
1+false //1
③字符串+布尔型:布尔型转成字符串
'a'+true //'atrue'
④null 的加法
1+null //1 null--0
true+null //1 true--1 null--0
'a'+null //'anull' null--'null'
练习:
var num1=3,num2=true,num3='hello'
console.log(num1+num2+num3); //'4hello'
console.log(num2+num3+num1); //'truehello3'
console.log(num3+num1+num2); //'hello3true'
- * / 执行运算
尝试将符号两端的数据转成数值型(自动调用Number),如果无法转换,结果返回NaN(Not a Number)
console.log(1-'2');
console.log(2*'3');
console.log(3/'2');
console.log('1'-'a');// NaN
总结:+的作用
执行加法运算;执行字符串的拼接。
(2)强制转换
①将数据转成数值型
Number()
将任意的数据转换成数值型,如果被转换的字符串中含有非数字,则返回NaN;布尔型会转成数值型。
②将数据转换成整型
parseInt()
parseInt(‘1.5’)//1
查看数据的开始是否为数字,遇到非数字则返回前边的数字。
③将数据转成浮点型
parseFloat()
练习:‘1.5a’,‘7.1a’,‘a2.3’
④将数据转换成字符串
toString()
var pi=3.14;
pi.toString();
3、运算符和表达式
由运算符连接的操作数据,所组成的形式成为表达式
(1)算术运算符
+ - * / % ++ --
%取余
++自增,在原来的基础之上+1
-- 自减 ,在原来的基础之上-1
console.log(a++);先打印a的值,然后再自增
console.log(++a);先自增,然后再打印a的值
练习:
var a=3;
console.log(a++ + ++a);
a++先获取a的值(3),执行自增,a=4
++a先让a执行自增(5)然后再获取a
var b=5;
console.log(--b + b--);
--b先让b执行自减(4),获取b的的值(4)
b--先获取b的值(4),然后再执行自减
(2)比较运算符
>= <= > < == != === (全等于)!==(全不等于)
返回的结果是布尔型的值
== 只是比较两个数据的值是否相同
=== 不仅比较数据的值,还比较两个数据的类型是否相同
3>'10'
数字和字符串比较,字符串转成数值型
'3'>'10'
两个字符串比较,比较的是Unicode码 首字母相同则向下比较
console.log(3>'10a');
console.log(3<'10a');
console.log(3=='10a');
NaN和任何的数字比较(> < >= <= == ===)返回false
NaN==NaN 返回false
(3)逻辑运算符
|| 或者 && 并且 非!
||关联的两个条件只需要满足其一,结果就是true,否则false
&& 关联的两个条件都满足结果是true 否则false
!取反
逻辑短路
||当第一个条件为true的时候,就不需要执行第二个条件
&&当第一个条件为false的时候,就不需要执行第二个条件
练习:下边的代码是否会报错
var a=3;
a>5 && console.log(ename);
(4)位运算符
将数据转成二进制然后执行运算
按位与(&) 上下两位都是1,结果是1,否则是0
按位或(|) 上下两位含有1,结果是1,否则是0
按位异或(^)上下两位相同是0,不同是1
按位右移(>>)删除二进制的最后n位,大概变小到原来的一半
按位左移(<<)在二进制的最后添0,变大到原来的一倍
(5)赋值运算符
= += -= *= /= %=
在原来的基础之上进行加减乘除取余
x+=3;

浙公网安备 33010602011771号