JavaScript基础10——获取数据类型、类型转换

news2025/1/19 14:32:51

哈喽,大家好,我是雷工。
现如今知识大爆炸,到处都有海量的知识,常常见了就收藏,把网盘塞得满满的,却从来没有看过。
收藏起来装到网盘里并没有什么软用,要把知识装到脑袋里才行。
从几分钟开始,今天接着学习JavaScript基础知识,下面是学习笔记。

一、获取数据类型

1、控制台输出语句:
示例:

<script>
        let age = 28
        let myName = '雷工'
        let flag = true
        let eat
        console.log(age)
        console.log(myName)
        console.log(flag)
        console.log(eat)
</script>

效果:
在这里插入图片描述

1.1、控制台语句经常用于测试结果
1.2、从效果图中可以看出数字型和布尔型颜色为蓝色,字符串和undefined颜色为灰色。

2、通过typeof关键字获取数据类型
typeof 关键字可以返回被检测的数据类型。它支持两种语法形式:
2.1、作为运算符:typeof x(常用的写法)
2.2、函数形式:typeof(x)
有括号和没有括号,得到的结果是一样的,SO我们直接使用运算符的写法。
示例:

<script>
        let age = 28
        let myName = '雷工'
        let flag = true
        let eat
        console.log(typeof age)
        console.log(typeof myName)
        console.log(typeof flag)
        console.log(typeof eat)
</script>

效果:
在这里插入图片描述

二、类型转换

1、为啥要类型转换
JS是弱数据类型:JS也不知道变量到底属于何种类型,只有赋值了才知道。
问题:使用表单、prompt获取过来的数据默认是字符串类型的,此时不能够直接进行加法运算否则容易出错。
示例:
console.log(‘10000’+‘2000’) //输出结果:100002000
应用场景:由于数据类型导致的计算结果异常错误,那么需要进行数据类型转换。

2、隐式转换

2.1、某些运算符在被执行的时候,系统内部会自动将数据类型进行转换,这种转换称为隐式转换。

2.2、隐式转换规则:
2.2.1、+号两边只要有一个是字符串,都会把另外一个转换成字符串。
2.2.2、除了+号以外的其他算术运算符,比如- * / 等都会把数据转换成数字类型。

2.3、隐式转换缺点
转换类型不明确,要靠经验和平常总结。

2.4、记忆技巧
2.4.1、+号作为正号解析可以转换成数字型。
2.4.2、任何数据和字符串相加结果都是字符串。

示例:
在这里插入图片描述

3、显示转换(强制类型转换)
在编程时过度依赖系统内部的隐式转换是不严谨的,因为隐式转换规律并不清晰,很多是靠经验总结的规律。
为了避免因隐式转换带来的问题,通常根据逻辑需要对数据进行显示转换。

3.1、显示转换概念
自己写代码告诉系统该转成什么类型。

3.2、转换为数字型
3.2.1、Number(变量)
a、转换为数字类型
b、如果字符串内容里有非数字,转换失败时结果为NaN(Not a Number)即不是一个数字。
c、NaN也是Number类型的数据,代表非数字。

3.2.2、parseInt(变量)
只保留整数

3.2.3、parseFloat(变量)
可以保留小数,转换过程中保留转换成功的部分,不成功的部分直接省略。

在这里插入图片描述

3.3、转换为字符型
String(变量)
变量.toString()

转换字符串方法的区别:
a>String(变量)可以将任何的一种数据类型转换为字符串类型;
b>变量.toString() 不能将undefined类型转换为字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/997393.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【LeetCode-中等题】26. 删除有序数组中的重复项

文章目录 题目方法一&#xff1a;快慢指针 题目 方法一&#xff1a;快慢指针 class Solution { //快慢指针public int removeDuplicates(int[] nums) {int fast 1;int slow 0;while(fast < nums.length){if(nums[fast] nums[fast-1]) fast;//若当前元素和之前元素相同 则…

华为OD机试 - 战场索敌 - 深度优先搜索dfs算法(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、深度优先搜索dfs五、解题思路六、Java算法源码七、效果展示1、输入2、输出3、说明4、如果增加目标敌人数量K为55、来&#xff0c;上强度 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 有一个大小是N*M…

ros_launch配置

创建launch文件批运行节点和包 将以下四条指令写入launch文件中 获取软件包的完整指令 rospackpkg&#xff1a;软件包名字 type&#xff1a;节点名字 四条指令转化成launch文件

无人机航线规划

无人机航线规划&#xff0c;对于无人机的任务执行有着至关重要的作用&#xff0c;无人机在从起点飞向目的点的过程中&#xff0c;如何规划出一条安全路径&#xff0c;并且保证该路径代价最优&#xff0c;是无人机航线规划的主要目的。其中路径最优的含义是&#xff0c;在无人机…

大数据-玩转数据-Flink 容错机制

一、概述 在分布式架构中&#xff0c;当某个节点出现故障&#xff0c;其他节点基本不受影响。在 Flink 中&#xff0c;有一套完整的容错机制&#xff0c;最重要就是检查点&#xff08;checkpoint&#xff09;。 二、检查点&#xff08;Checkpoint&#xff09; 在流处理中&am…

初识Nacos

前言 Nacos是一个用于微服务架构下的服务发现和配置管理以及服务管理的综合解决方案&#xff08;官网介绍&#xff09;&#xff0c;这里的服务发现其实就是注册中心&#xff0c;配置管理就是配置中心&#xff0c;而服务管理是二者的综合&#xff1b; Nacos特性 1.服务发现与…

《Go语言在微服务中的崛起:为什么Go是下一个后端之星?》

&#x1f337;&#x1f341; 博主猫头虎&#x1f405;&#x1f43e; 带您进入 Golang 语言的新世界✨✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文并茂&#x1f…

【JavaEE】_CSS常用属性值

目录 1. 字体属性 1.1 设置字体家族 font-family 1.2 设置字体大小 font-size 1.3 设置字体粗细 font-weight 1.4 设置字体倾斜 font-style 2. 文本属性 2.1 设置文本颜色 color 2.2 文本对齐 text-align 2.3 文本装饰 text-decoration 2.4 文本缩进 text-indent 2.…

车载软件架构——基础软件供应商开发工具链(二)

车载软件架构——基础软件供应商&开发工具链(二) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己…

2023-9-10 能被整除的数

题目链接&#xff1a;能被整除的数 #include <iostream> #include <algorithm>using namespace std;typedef long long LL;const int N 20;int n, m; int p[N];int main() {cin >> n >> m;for(int i 0; i < m; i) cin >> p[i];int res 0;f…

性能测试 —— 全链路压测最佳实践!

全链路压测理论基础 什么是全链路压测 基于实际的生产业务场景、系统环境&#xff0c;基于真实数据模拟海量的用户请求对整个业务链进行压力测试&#xff0c;并持续调优的过程&#xff1b; 全链路的核心为&#xff1a;业务场景、数据链路、压力模型和环境拓扑&#xff1b;…

QuantLib学习笔记——看看几何布朗运动有没有股票走势的感觉

⭐️ 小鹿在乱撞 小伙伴们肯定看过股票的走势&#xff0c;真是上蹿下跳啊&#xff0c;最近小编学了一丢丢关于随机过程和QuantLib的知识&#xff0c;想利用随机过程生成一个类似股票价格走势的图&#xff0c;安排&#xff01;&#xff01;&#xff01; ⭐️ 随机过程 随机过程…

基于seata实现分布式事务实现订单服务 + 账户服务 + 商品库存服务之间的分布式事务

概述 实现订单服务 账户服务 商品库存服务之间的分布式事务. 订单服务生成订单,同时调用账户服务扣减金额, 调用库存服务扣减库存. 服务采用seata的刚性事务, 保证数据一致性. 详细 1.需求&#xff08;要做什么&#xff09; 模仿一个购物流程. 利用seata的分布式事务实现 …

【数据结构】栈、队列和数组

栈、队列和数组 栈队列数组数组的顺序表示和实现顺序表中查找和修改数组元素 矩阵的压缩存储特殊矩阵稀疏矩阵 栈 初始化 #define MaxSize 50//栈中元素的最大个数 typedef char ElemType;//数据结构 typedef struct{int top;//栈顶指针ElemType data[MaxSize];//存放栈中的元…

MySQL无法查看系统默认字符集以及校验规则

show variables like character_set_database; show variables like collation_database;这个错误信息表示MySQL在尝试访问performance_schema.session_variables表时&#xff0c;发现该表不存在。这个问题可能是由于MySQL的版本升级导致的。解决这个问题的一种方法是运行mysql…

[管理与领导-81]:IT基层管理者 - 核心技能 - 高效执行力 - 6- 两大思维:服务思维、重点思维、高效与快速的区别?

目录 前言&#xff1a; 一、服务思维 二、重点思维 三、高效与快速的区别 补充&#xff1a;执行人才的表现 前言&#xff1a; 在某种程度上&#xff0c;高效与完美是相互制约的&#xff0c;要想高效&#xff0c;大多数时候&#xff0c;会牺牲一部分完美&#xff0c;而要达…

Pandas 掉包侠刷题实战--条件筛选

本博文内容为力扣刷题过程的记录&#xff0c;所有题目来源于力扣。 题目链接&#xff1a;https://leetcode.cn/studyplan/30-days-of-pandas/ 文章目录 准备工作1. isin(values) 和 ~2. df.drop_duplicates()3. df.sort_values()4. df.rename()5. pd.merge() 题目-条件筛选1. 大…

postgresql-窗口函数种类

postgresql-聚合窗口函数 聚合函数排名窗口函数案例1案例2 取值窗口函数环比增长率同比增长率 聚合函数 常用的聚合函数&#xff0c;例如 AVG、SUM、COUNT 等&#xff0c;也可以作为窗口函数使用 --计算移动平均值 select saledate, amount, avg(amount) over (order by sale…

Leetcode - 361周赛

一&#xff0c;2843. 统计对称整数的数目 这道题直接暴力&#xff0c;要注意的一点是这个数字必须是由 2 * N 位数字组成。 代码如下&#xff1a; class Solution {public int countSymmetricIntegers(int low, int high) {int ans 0;for(int ilow; i<high; i){if(i>1…

threejs的dat.gui辅助工具的使用

threejs的dat.gui辅助工具的使用 安装使用 安装 npm i dat.gui -S 使用 import dat from dat.gui const controlData {rotationSpeed: 0.01,color: #66ccff,wireframe: false } const gui new dat.GUI() const f gui.addFolder(配置) f.add(controlData, rotationSpeed, …