javascript零基础入门2:javascript数据类型

哪吒 哪吒     2023-01-28     663

关键词:

🍅 Java学习路线总结:搬砖工逆袭Java架构师

🍅 Java经典面试题大全:10万字208道Java经典面试题总结(附答案)

🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

🍅 欢迎点赞 👍 收藏 ⭐留言 📝   

目录

一、JavaScript中的数据类型

1、String

2、Number

3、Boolean

4、Null

5、Undefined

二、强制类型转换

1、将其他的数据类型转换为String

2、将其他的数据类型转换为Number

3、将其他的数据类型转换为Boolean

三、运算符

1、通过运算符可以对一个或多个值进行运算,并获取运算结果

2、算数运算符

四、任何值和字符串相加都会转换为字符串,并做拼串操作

五、一元运算符

1、+ 正号

2、- 负号

六、自增

1、自增 ++

2、减 --


一、JavaScript中的数据类型

数据类型指的就是字面量的类型,JavaScript一共有六种数据类型:

  1. String 字符串
  2. Number 数值
  3. Boolean 布尔值
  4. Null 空值
  5. Undefined 未定义
  6. Object 对象

其中String Number Boolean Null Undefined属于基本数据类型,而Object属于引用数据类型。

1、String

  • 在JS中字符串需要使用引号引起来
  • 使用双引号或单引号都可以,但是不要混着用
  • 引号不能嵌套,双引号不能放双引号,单引号不能放单引号

在字符串中我们可以使用\\作为转义字符,

当表示一些特殊符号时可以使用\\进行转义

  1. \\" 表示 "
  2. \\' 表示 '
  3. \\n 表示换行
  4. \\t 制表符
  5. \\\\ 表示\\

2、Number

(1)在JavaScript中所有的数值都是Number类型,包括整数和浮点数(小数)。

(2)JS中可以表示的数字的最大值

  • Number.MAX_VALUE -->1.7976931348623157e+308
  • Number.MIN_VALUE 大于0的最小值 --> 5e-324

(3)如果使用Number表示的数字超过了最大值,则会返回一个

  • Infinity 表示正无穷
  • -Infinity 表示负无穷

(4)使用typeof检查Infinity也会返回number

(5)NaN 是一个特殊的数字,表示Not A Number

(6)使用typeof检查一个NaN也会返回number

(7)在JS中整数的运算基本可以保证精确。

如果使用JS进行浮点运算,可能得到一个不精确的结果,所以千万不要使用JS进行对精确度要求比较高的运算。

3、Boolean

布尔值只有两个,主要用来做逻辑判断

  • true - 表示真
  • false - 表示假

使用typeof检查一个布尔值时,会返回boolean。

4、Null

  • Null(空值)类型的值只有一个,就是null。
  • null这个值专门用来表示一个为空的对象,使用typeof检查一个null值时,会返回object。

5、Undefined

  • Undefined(未定义)类型的值只有一个,就undefind;
  • 当声明一个变量,但是并不给变量赋值时,它的值就是undefined;
  • 使用typeof检查一个undefined时也会返回undefined

二、强制类型转换

指将一个数据类型强制转换为其他的数据类型。

1、将其他的数据类型转换为String

① toString()

调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回,但是注意:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错。

② String()函数

调用String()函数,并将被转换的数据作为参数传递给函数,使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined,就不会调用toString()方法,它会将 null 直接转换为 "null",将 undefined 直接转换为 "undefined"。

2、将其他的数据类型转换为Number

① Number()函数

字符串 --> 数字

  1. 如果是纯数字的字符串,则直接将其转换为数字
  2. 如果字符串中有非数字的内容,则转换为NaN
  3. 如果字符串是一个空串或者是一个全是空格的字符串,则转换为0

布尔 --> 数字

  •     true 转成 1
  •     false 转成 0

null --> 数字     0

undefined --> 数字 NaN

② parseInt() 与parseFloat() ---> 字符串专用方法

parseInt() 把一个字符串转换为一个整数,parseFloat() 把一个字符串转换为一个浮点数。

③ 其他的进制的数字

  • 在JavaScript中,如果需要表示16进制的数字,则需要以0x开头; 
  • 如果需要表示8进制的数字,则需要以0开头;
  • 如果要要表示2进制的数字,则需要以0b开头;
  • 但是不是所有的浏览器都支持;

3、将其他的数据类型转换为Boolean

(1)使用Boolean()函数

① 数字 ---> 布尔

除了0和NaN,其余的都是true

② 字符串 ---> 布尔

除了空串,其余的都是true

null和undefined都会转换为false

对象也会转换为true

三、运算符

1、通过运算符可以对一个或多个值进行运算,并获取运算结果

比如:typeof就是运算符,可以来获得一个值的类型,它会将该值的类型以字符串的形式返回
    number string boolean undefined object

2、算数运算符

当对非Number类型的值进行运算时,会将这些值转换为Number然后在运算。

任何值和NaN做运算都得NaN

(1)+

  • +可以对两个值进行加法运算,并将结果返回
  • 如果对两个字符串进行加法运算,则会做拼串
  • 会将两个字符串拼接为一个字符串,并返回
  • 任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作

(2)-

- 可以对两个值进行减法运算,并将结果返回

(3)*

* 可以对两个值进行乘法运算

(4)/

/ 可以对两个值进行除法运算

(5)%

% 取模运算(取余数)

四、任何值和字符串相加都会转换为字符串,并做拼串操作

我们可以利用这一特点,来将一个任意的数据类型转换为String;
我们只需要为任意的数据类型 + 一个 "" 即可将其转换为String;
这是一种隐式的类型转换,由浏览器自动完成,实际上它也是调用String()函数;

任何值做- * /运算时都会自动转换为Number,我们可以利用这一特点做隐式的类型转换,可以通过为一个值 -0 *1 /1来将其转换为Number,原理和Number()函数一样,使用起来更加简单。

五、一元运算符

1、+ 正号

正号不会对数字产生任何影响

2、- 负号

负号可以对数字进行负号的取反

- 对于非Number类型的值,它会将先转换为Number,然后在运算,可以对一个其他的数据类型使用+,来将其转换为number,它的原理和Number()函数一样。

六、自增

1、自增 ++

  • 通过自增可以使变量在自身的基础上增加1
  • 对于一个变量自增以后,原变量的值会立即自增1
  • 自增分成两种:后++(a++) 和 前++(++a)    
  • 无论是a++ 还是 ++a,都会立即使原变量的值自增1
  • 不同的是a++ 和 ++a的值不同
  • a++的值等于原变量的值(自增前的值)
  • ++a的值等于新值 (自增后的值)

2、减 --

  • 通过自减可以使变量在自身的基础上减1
  • 自减分成两种:后--(a--) 和 前--(--a)
  • 无论是a-- 还是 --a 都会立即使原变量的值自减1
  • 不同的是a-- 和 --a的值不同
  • a-- 是变量的原值 (自减前的值)
  • --a 是变量的新值 (自减以后的值)

七、【粉丝福利】

送书啦,大家期待已久的Vue!

本次活动送书规则:

【送书啦】

1、社区积分榜前5名,随机抽取一名幸运者

2、社区积分榜6-15名,随机抽取一名幸运者

3、社区积分榜16-30名,随机抽取一名幸运者

【赚取积分方式】

哪吒社区内发帖、点赞、评论都可赢取积分!

🍅 社区入口:哪吒社区

以下图书,四选一!

  1. Vue.js全家桶零基础入门到进阶项目实战
  2. Java高并发编程指南
  3. 亿级流量Java高并发与网络编程实战
  4. Web前端性能优化 

 

🍅 Java学习路线总结:搬砖工逆袭Java架构师

🍅 Java经典面试题大全:10万字208道Java经典面试题总结(附答案)

🍅 简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌ 、Java架构师奋斗者💪

🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

🍅 欢迎点赞 👍 收藏 ⭐留言 📝   

 添加微信,备注1024,赠送Java学习路线思维导图 

javascript入门经典零基础学习

本书目录第一章: JavaScript语言基础第二章: JavaScript内置对象第三章: 窗口window对象第四章: 文档document对象第五章: 表单form对象第六章: History与Navigator对象第七章: JavaScript框架编程第八章: ... 查看详情

前端零基础快速入门javascript

JavaScript代码可以直接嵌在网页的任何地方,不过通常我们都把JavaScript代码放到<head>中:<html><head><script>alert(‘Hello,world‘);</script></head><http://www.my516.com>...</body></ht 查看详情

javascript零基础入门7:javascript基础函数(代码片段)

🍅Java学习路线配套文章:搬砖工逆袭Java架构师🍅基础推荐:Java基础教程系列🍅实战推荐:SpringBoot基础教程🍅简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌、Java架构师奋斗者💪&#x... 查看详情

零基础入门深度学习目录

...专栏:《深度学习100例》🔥推荐专栏:《零基础入门深度学习》📚选自专栏:《Matplotlib教程》🧿优秀专栏:《Python入门100题》📕入门篇1.环境配置【零基础入门深度学习】1-1:配置深度学习... 查看详情

javascript零基础入门4:javascript对象与函数(代码片段)

🍅Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)🍅基础推荐:Java基础教程系列🍅实战推荐:SpringBoot基础教程🍅简介:Java领域优质创作者🏆、CSDN哪... 查看详情

javascript零基础入门10:正则表达式(代码片段)

🍅Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强)🍅基础推荐:Java基础教程系列🍅实战推荐:SpringBoot基础教程🍅简介:Java领域优质创作者🏆、CSDN哪... 查看详情

javascript零基础入门6:javascript垃圾回收(代码片段)

🍅Java学习路线配套文章:搬砖工逆袭Java架构师🍅Java经典面试题大全:10万字208道Java经典面试题总结(附答案)🍅简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌、Java架构师奋斗者💪🍅扫... 查看详情

javascript零基础入门|day1:javascript表格(代码片段)

🍅Java学习路线思维导图: Java学习路线思维导图🍅Java学习路线总结:搬砖工逆袭Java架构师🍅Java经典面试题大全:10万字208道Java经典面试题总结(附答案)🍅简介:Java领域优质创作者🏆、CSDN... 查看详情

2023年web前端开发学习路线图

...3+前端项目2.移动web开发实战第二阶段:技术进阶1.JavaScript深入浅出-0基础入门神器2.JavaScript核心之WebAPIs3.数据交互&异步编程-前端进阶Ajax零基础入门第三阶段:VUE开发1.前端高级Node.js零基础入门教程2.前端框架 查看详情

零基础入门深度学习2-3:文本数据建模流程示例

文章目录一、准备数据1.导入数据2.数据分析二、数据预处理三、构建模型四、情感预测 查看详情

《c#零基础入门之百识百例》输入输出--模拟登陆

C#零基础入门基础语法--输入输出前言一,知识点:输入输出1.1输入方法1.1.1Read方法1.1.2ReadLine方法1.1.3ReadKey方法1.2输出方法1.2.1Write方法1.2.2WriteLine方法二,实例练习--模拟登陆2.1题目描述2.2问题分析2.3参考代码前言本文属于C#零基... 查看详情

javascript零基础入门5:javascript函数(代码片段)

🍅Java学习路线配套文章:搬砖工逆袭Java架构师🍅Java经典面试题大全:10万字208道Java经典面试题总结(附答案)🍅简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌、Java架构师奋斗者💪🍅扫... 查看详情

学习资料

一、深度学习1、https://www.zybuluo.com/hanbingtao/note/433855零基础入门深度学习(1)-感知器 零基础入门深度学习(2)-线性单元和梯度下降 零基础入门深度学习(3)-神经网络和反向传播算法 零基础入门深度学习(4)-卷积神经网络&nb... 查看详情

转载零基础入门深度学习-参考文献

【转载】零基础入门深度学习-参考文献机器学习深度学习参考资料零基础入门深度学习(1)-感知器TomM.Mitchell,“机器学习”,曾华军等译,机械工业出版社零基础入门深度学习(2)-线性单元和梯度下降TomM.Mitchell,“机器学习”,曾华军... 查看详情

转载零基础入门深度学习-参考文献

【转载】零基础入门深度学习-参考文献机器学习深度学习参考资料零基础入门深度学习(1)-感知器TomM.Mitchell,“机器学习”,曾华军等译,机械工业出版社零基础入门深度学习(2)-线性单元和梯度下降TomM.Mitchell,“机器学习”,曾华军... 查看详情

javascript零基础入门day3javascript运算符(代码片段)

🍅Java学习路线配套文章:搬砖工逆袭Java架构师🍅Java经典面试题大全:10万字208道Java经典面试题总结(附答案)🍅简介:Java领域优质创作者🏆、CSDN哪吒公众号作者✌、Java架构师奋斗者💪🍅扫... 查看详情

python零基础入门(代码片段)

Python数据分析基础八、字典与集合8.1字典8.1.1字典的创建和删除8.1.2通过“键值对”访问字典8.1.3遍历字典8.1.4添加、修改和删除字典元素8.1.5字典推导式8.2集合8.2.1集合的创建8.2.2集合的添加和删除8.2.3集合的交集、并集和差集运... 查看详情

python零基础入门(代码片段)

Python数据分析基础六、流程控制6.1程序结构6.2选择语句6.2.1最简单的if语句6.2.2if...else语句6.2.3if...elif...else语句6.2.4if语句的嵌套6.3使用and连接条件语句6.4使用or连接条件语句6.5使用not语句结语六、流程控制6.1程序结构计算机在解决... 查看详情