js学习第二篇:JavaScript的数据类型

五、数据类型

5.1为什么需要数据类型?

因为不同的数据所占用的存储空间不同,所以有不同数据类型为了方便将数据分成内存大小不同的数据。

5.2js变量的数据类型-超自由

JavaScript是一种弱类型/动态语言,在声明变量时并没有确定它的数据类型,要在程序运行时通过值来确定。

1️⃣js的变量数据类型,由程序运行过程的值来决定

1676882323617

2️⃣js同一个变量的数据类型可用于不同类型

1676882442753

5.3数据类型的分类
(1)简单数据类型(基本数据类型)

Number、String、Boolean、Undefined、Null

1676883152225

5.3.1.1数字型Number

既包含整数,又包含小数(浮点数)

1676883831256

①数字型进制:

前+0表示八进制;前+0x表示十六进制

1676883632383

②数字型范围:

1676883761400

③常用的数字型类型

-最大值:Number.MAX_VALUE,这个值为1.7976931348623157e+308

-最小值:Number.MIN_VALUE,这个值为5e-324

-无穷大:Infinity

-**无穷小: **-Infinity

-非数值:NaN 不是数值的都可以用此表示,一般用于表无法计算的含义

选自英文缩写Not a number。

1676884404366

④is NaN()

is NaN()是用来验证是否为非数字的函数

是数字,返回false;不是数字,返回true

1676906293993

1676906260208

5.3.1.2 字符串型 String

字符串型为引号中的任意文本,语法可为单引号【' '】/双引号【“ ”】

推荐使用单引号,因为html标签属性为双引号

1676906529793

①字符串嵌套

要在字符串可以采用(单引号嵌套双引号 / 双引号嵌套单引号),遵循外双内单/外单内双的原则

1676906973926

1676906996154

②字符串转义符

转义符以/开头,是用于显示JS的特殊字符:

1676907149403

③字符串长度

通过字符串的length属性去获取长度。

   <script>//二、内嵌式js       var txt = '酷热难耐,火辣的太阳底下,我挺拔的身姿'       console.log(txt.length);    </script>

④字符串拼接

  • 多个字符串可以用+进行拼接,字符串+任何新类型=拼接后的字符串

  • 拼接后一定是个字符串类型!!!

    1676907971098

"+"口诀:数值相加,字符相连

⑤变量拼接

1676908322404

变量是通过字符串“+”相连的方式哦!
5.3.1.3布尔型Boolean
  • 布尔型共有两个值:true和false,其中true为真,false为假

  • js中布尔型和数值型,true当1来看,false当0来看

1676969205298

5.3.1.4Undefined和Null

①一个变量声明但没有赋值时,默认值为undefined--->表示未定义

②一个变量声明给null值,里面存的值为空

注意区分Null和undefined与数值相加的情况

undefined型+字符型==>字符型
undefined型+数值型==>NaN
null+字符型==>字符型
null+数值型==>数值

1676969804579

(2)复杂数据类型

Object

5.4【查看变量类型】
--typeof函数

typeof(空格)变量名可用于获取检测变量所属的数据类型

1676970458762

  • 通过typeof检测可以发现,提示框中取到的值是String类型
--看控制台颜色

蓝色->数值型

黑色->字符串

深蓝色->布尔型

浅灰色->undefined和null

--看字面量

1676981837416

六、数据类型转换

【本质】:将一种数据类型转换为另一种

如:表单、prompt获取过来的数据默认是字符串类型的,此时要进行加法运算,就必须先转换其数据类型

  • 主要有以下3种方式的转换:
    • 转换为字符串类型
    • 转换为数字型
    • 转换为布尔型
6.1转换为字符串

①变量名.toString()

②String(变量名)

③加号拼接(又称隐式拼接)

1676982305628

6.2转换为数字型

parseInt(字符串) ->字符串变整数

  • //注意会将字符串的数值进行取整 如:3.19->3

    1676982890570

  • 从前向后识别,出错就暂停

    1676983003787

1676982642857

parseFloat(字符串)->字符串变小数、浮点数

1676983162875

③Number(字符串)->数值型字符串变数值型【可小数、整数】

1676984190841

④利用算数运算 - * / 【隐式转换】

1676984351790

6.3转换成布尔型

①Boolean(变量)函数

1676992027164

  • 代表空、否定的值都会被转换成false
    • 如:‘ ’、0、NaN、null、undefined
  • 其余都被转换为true

1676992111492

七、js运算符

运算符又称为操作符,用于实现复制,比较和执行算术运算功能的符号。

有:

  • 算术运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符
1.算术运算符

概念:算术运算符用于执行两个变量或值的算术运算。

【代码规范:算术运算符两边需要➕空格】

1677147653433

①浮点数精度问题

❗:

避免使用浮点数直接进行算术运算,因其运算后会产生多余的小数。

不要直接判断浮点数是否相等

1677148430658

②判断数被整除

取余==0

1677148442301

③算术运算符优先级

先乘除,后加减,有小括号先算里面的。

④.表达式

由数字、运算符、变量等组成的式子,叫做表达式。

⑤.返回值

表达式运算的结果,成为返回值。

2.递增、递减运算符

①递增运算符

相当于num=num+1

  • 前置:++ num(变量名),【先自加参与计算,后返回值】
  • 后置:num(变量名)++ 【先返回值参与计算,后自加】

【后置更常用:num++】

②递减运算符

同上。

3.比较运算符

是两个数据进行比较时所使用的运算符,返回值是一个布尔值(true/false)作为比较运算结果。

❗:

  • == 是判断值是否相等,转型指:字符型和数值型转换

    1677150320639

1677149789961

  • === !== 表示的是全等,是数据类型都相同

1677150311902

①=小结

1677150361023

4.逻辑运算符

是用来进行布尔值运算的运算符,其返回值也是布尔值

  • java中叫做短路与哦,前面表达式,可得出结果,后面就不执行了。

1677150500931

4.1短路运算(逻辑中断)

当有多个表达式的值,左边的表达式值可以确定结果,就不再运算右边的表达式值。

①逻辑与

表达式1为真,返回表达式2的值

表达式1为假,返回表达式1的值

  • 有空或否定的为假,其余为真

1677151446109

②逻辑或

表达式1为真,返回表达式1的值

表达式1为假,返回表达式2的值

1677151672527

5.赋值运算符

用来把数据赋值给变量的运算符

1677151866626

1677151980505

6.运算符优先级
  • 一元运算符:只有一个变量参与运算 如:num++、!num
  • 逻辑运算符优先级最低

1677152068057

八、三元表达式

三元表达式可以做一些简单的条件选择,由三元运算符组成。

(1)语法结构 条件表达式 ? 表达式1:表达式2

(2)执行思路

​ 如果条件表达式为True,返回表达式1的值,反之,返回表达式2的值

1677161798877

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邓六日

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值