网站首页 > 文章精选 正文
上节知识点回顾:
- 1.什么是变量
- 2.变量的声明
- 3.一次性声明多个变量并赋值
- 4.变量名的规范
- 5.变量的使用
本讲内容:数据类型
1.数据类型分类
- 原始类型(基本类型)+引用类型
- 原始类型:数字 、字符串 、布尔类型、 空、 未定义
1.1 数字类型【整数+浮点数】
- 也叫number类型:只由数字和.组成 (姑且这么认为)
整数:
- 如1、2、3
- 整数的进制:十进制、八进制、十六进制(常用:颜色值)
浮点数:
- 即小数
- 如 3.1415926
1.2 字符串类型
- 也叫string类型 :由unicode字符、数字、标点组成
- unicode下所有的字符、数字、标点在内存中都占2个字节
以百家姓第一个字赵为例:
- "赵".charCodeAt().toString(16)
运行结果:'8d75'
- 汉字的开始字符:\u4e00
- 汉字的开始字符:\u9fa5
转义字符:
- \n换行
- \r 回车
- \t 一个制表符
1.3 boolean 布尔类型
作用:用于表示条件的结果
取值:
- true:真
- false: 假
扩展:布尔类型数据在做运算时:true=1,flase=0;
看下面的示例:
- var r1=true;
- var r2=false;
- console.log(r1);
- console.log(r2);
- console.log(r1+r2);
- console.log(r1+r1+r2);
1.4 空:null
表示:声明对象未赋值
1.5 undefined:未定义
- 声明对象未赋值
- 访问对象不存在的属性
2.数据类型转换
2.1 数据类型转换的必要性
js是弱类型语言,是由变量的值来决定变量的数据类型
- var stu1; -->undefined
- var stu2 = 25; -->number
- var stu3 = "25"; -->string
那么不同类型的数据在运算过程中如何处理?
我们看这样一个例子:
- var num1=15;
- var num2=13;
- var r1=num1+num2;
- var str1="15";
- var r2=str1+num2;
分别查看r1与r2的类型:typeof()、typeof
- console.log(typeof(r1));
- console.log(typeof(r2));
结果表明:
- 数字+数字=数字 r1:number
- 字符串+数字=字符串 r2:string
r1和r2的数据类型不同 为什么呢? 这里存在一个隐式转换
2.2 隐式转换
如何判断一个数据的类型?
【方法:typeof()、typeof】
我们先了解typeof()结果的一些名词
- NaN:not a number的缩写,表示该数据不是一个数字
- isNaN:判断是否为”非数字“
- 其结果是个布尔值:
- true:不是一个数字
- false:是数字
那么现在再回顾一下刚r1与r2的类型结果
注意:所有数据类型与string做+运算时,最后结果都是string
2.3 强制转换
当我们想把某个数据主动的改为其他类型的数据时,就用到了强制转换,强制转换就像之前数据线转接头,本来安卓的,接上一个type-c头,就可以给type-c的手机充电了;
2.3.1 toString() 将数据强制转换为string类型
具体方法为:函数名.toString()
原理:类似在原数据基础上做了一个+运算,+了一个空字符串
- var num=15;
- var str=num+" ";
2.3.2 parseInt() 获取制定数据转换为整数
语法:var resule=parseInt(数据)
注意:这里的数据可能是一个变量,也可能直接就是一个值
parseInt():从左向右依次转换,直到碰到第一个非数字的数据停止转换,如果第一个字符就是非数字的话,结果为NaN
代码示例
- var r1=parseInt("18.18");
- var r2=parseInt("18.18hello");
- var r3=parseInt("18.1hello8");
- var r4=parseInt("hello18.18");
我们看下打印结果:
- console.log(r1);
- console.log(r2);
- console.log(r3);
- console.log(r4);
2.3.3 parseFloat() 将指定数据转换为小数
语法:var resule=parseFloat(数据);【同parseInt()】
代码示例:
- var r1=parseFloat("18.18");
- var r2=parseFloat("18.18hello");
- var r3=parseFloat("18.1hello8");
- var r4=parseFloat("hello18.18");
我们看下打印结果:
- console.log(r1);
- console.log(r2);
- console.log(r3);
- console.log(r4);
parseFloat():也是从左向右依次转换,直到碰到第一个非数字与"."的数据停止转换,同样的如果第一个字符就是非数字的话,结果为NaN
2.3.4 Number() 将一个字符串解析为number
语法:var r1=Number(数据); 【也与parseInt()相同】
注意:只要包含非法字符,就直接返回NaN
代码示例:
- var r1=Number("18.18");
- var r2=Number("18.18hello");
- var r3=Number("18.1hello8");
- var r4=Number("hello18.18");
我们看下打印结果:
- console.log(r1);
- console.log(r2);
- console.log(r3);
- console.log(r4);
本堂课总结:
数据类型
数据类型转换:隐式转换与强制转换
强制转换的方法:toString() 、parseInt()、parseFloat()、Number()
猜你喜欢
- 2025-05-03 爬虫实战(二)爬取Ajax数据(爬取数据的代码)
- 2025-05-03 Python Matplotlib 入门教程:可视化数据的基石
- 2025-05-03 突破亚马逊壁垒,Web Unlocker API 助您轻松获取数据
- 2025-05-03 最实用的大数据可视化分析工具汇总
- 2025-05-03 专题|外行人看大数据 十款最常用的数据可视化工具
- 2025-05-03 网络爬虫——从网站中提取有用的数据
- 2025-05-03 这6款数据可视化软件,不会写代码也能用!
- 2025-05-03 B端技术常识:MVC模式(什么是mvc模式,各模块的作用是什么)
- 2025-05-03 越晚搞懂 MySQL JSON 数据类型,你就越吃亏
- 2025-05-03 JSON数据类型详细总结(json数据的数据值可以是哪些)
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)
- mysql数据库面试题 (57)