js基础-day2

一.常量

 和变量一样,都是用于存储数据的容器

 声明

    const a=1     

 相比变量:声明后必须赋值,不允许重新赋值;

 用于存储不能变化的数据。

二.数据类型

  分为原始类型和引用类型

  原始类型分为数值型、字符串型、布尔型、未定义型、空

 1.数值型

  10进制           

  1   2   3   4   5   6   7   8   9   10  ... 15  16

  8进制:以0开头的数字,例如012

  1   2   3    ...          7   10  11  12

  16进制:以0x开头的数字,不区分大小写,例如0xf

  1   2   3      ...            8   9    a  ...  f   10

  浮点型

    3141.5e-1

    314.15

    31.415e1

    3.1415e2

typeof   检测数据类型

 2.字符串型

  所有被引号包含的值都是字符串型,不区分单双引号

  查看任意一个字符的编码

     ‘a’.charCodeAt()

 3.布尔型

  只有两个值,分别是true和false,代表真和假

  用于保存只有两个状态的值,例如:是否登录、是否为会员...

 4.未定义型

  只有一个值undefined,表示一个空值,例如:声明了变量未赋值则为undefined

 5.空

  只有一个值null,类型是object,常和对象一起使用

三.数据类型转换

 分为隐式转换和强制转换

 1.隐式转换

   自动发生的转换

   (1)数值+字符串    数值转为字符串

     2+‘3’  //’23’

   (2)数值+布尔型   布尔型转为数值   true->1  false->0

     2+true   //3

     2+false  //2

   (3)字符串+布尔型   布尔型转为字符串

     ‘3’+true  //’3true’

加号(+)的作用

  • 数字之间的加法运算
  • 字符串之间的拼接

   NaN: Not  a  Number,不是一个数字,只要出现这个值就是在将一个值转换为数值的时候,没有成功的得到数字返回的结果。NaN和任何数值执行数学运算结果还是NaN

   所有隐式转换为数值都会自动调用函数Number()

 2.强制转换

  (1)强制转换为数值

Number()

Number('1')  //1

Number('1a')  //NaN

Number(true)  //1

Number(false)  //0

Number(undefined)  //NaN

Number(null)  //0

  (2)强制转换为整型    

   parseInt()

   用于将小数或者字符串转为整型,其它结果是NaN

parseInt(1.5)  //1

parseInt('3.14')  //3

parseInt('2a5')  //2

parseInt('a25')  //NaN

  (3)强制转为浮点型

   parseFloat()

   用于将字符串转为浮点型,其它的结果都是NaN

parseFloat('2a5') //2

parseFloat('3.14c')  //3.14

parseFloat('c5')  //NaN

  (4)强制转换为字符串

   toString()

   只能用于将数值和布尔型转为字符串

var n=2

var str=n.toString()  //'2'

四.运算符

 表达式:由数据本身或者由运算符连接的操作数据组成的形式,最终都是会产生一个数据。

 运算符分为算术运算符、比较运算符、逻辑运算符、位运算符、赋值运算符、三目运算符

 1.算术运算符

   +  -  *  /   %  ++  --

   %   取余

   ++  自增,在原来基础之上加1

--  自减,在原来基础之上减1

var a1=5

//先把a1的值赋给a2,然后a1再执行自增

var a2=a1++

var a3=2

//先a3执行自增,把自增的结果赋给a4

var a4=++a3

 2.比较运算符

  >  <  >=  <=   ==(等于)  !=(不等于)  ===(全等于)  !==(不全等于)

  ==   等于,只是比较两个值是否相同,可能会有隐式转换

  ===  全等于,不仅比较值,还会比较类型

  !=  不等于,比较值是否不同

  !==  不全等于,比较值不同,或者类型不同

  (1)数字和字符串比较,字符串会转为数值

  (2)字符串之间比较,比较的是首个字符的编码

  以下比较哪一个是true

  3>’10a’ //false

  3<’10a’ //false

  3==’10a’ //false

   NaN == NaN  //false

   NaN和任何值比较(> < >= <= == ===)结果都是false

3.逻辑运算符

  &&   逻辑与,关联的两个条件都是true,结果是true

  ||  逻辑或,关联的两个条件有一个是true,结果是true

  !  逻辑非,取反

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值