JS数据类型
让为大家介绍一下常用的数据类型吧!本人文笔有限,感谢大家的阅读!
我这篇文章尽量都写在了代码块里,我认为直接写理论不如让代码与解释写在一起,比如这个代码什么作用,是做什么的,这理论到底什么意思,到底是个怎么个用法,这样可以让大家更好的了解这块的基础知识
数据类型分为2大类:基本数据类型与引用数据类型
变量是什么数据类型呢?
js的变量数据类型只有程序在运行中,根据等号右边的取值来确定的
基本数据类型有:String(字符串) Number(数值) Boolean(布尔) Null(空) Undefined(未定义) Symbol(符号)这是ES6新增的类型
引用数据类型:Object(对象) 对象中包括了Array(数组) Function(函数) Date(日期) Math(数学)等
1.String
String是字符串类型,如"张三",注意咱们js里面,字符串都带引号
默认值:" "
代码介绍,比较详细:
// String是字符串类型
// 这就是一个字符串类型,记住需要加引号
// 单引号或者双引号都是可以的
var str = "张三"
// 记住字符串里面要么是外双内单,要么就是外单内双
console.log("我是一个'男'生")//打印:我是一个'男'生
console.log('我是一个"男"生')//打印:我是一个"男"生
// 我们也可以检测数据类型,我们使用typeof
console.log(typeof str)//打印:string
// 字符串拼接,数值相加,字符相连
// 我现在有一个字符串
console.log("我今年" + 18)//打印字符串类型的:我今年18
// 字符串加上其他值都会被转换成字符串类型
// 让我为大家介绍一下转换成字符串类型的方法
// toString(),String(变量),+(加号)拼接(重点)
var num = 18
// 开始转换
console.log(num.toString())//打印字符串类型的18
console.log(String(num))//打印字符串类型的18
console.log(num + "");//打印字符串类型的18
// 字符串长度(length)
var str1 = "Hello World"
console.log(str1.length)//11,字符串长度为11,空格也算
2.Number
Number是数字型,包含整型值和浮点型值,如21、0.21
默认值:0
代码介绍,比较详细:
// Number数字类型
// 这是一个数字类型,整型值和浮点型值都是Number类型
var num = 18//Number类型
var PI = 3.14//Number类型
// 检测数据类型typeof
console.log(typeof 18)//返回number
// 可以进行加减乘除运算
// 可以使用 +(加),-(减),*(乘),/(除),%(余数)
// 类型转换 parseInt()整型 parseInt()浮点型 Number() 隐式转换
// 除了布尔类型与数字类型和字符串类型(需要是数字开头的字符串)
// 其他类型转换成Number类型基本上都是NaN(非数字型)最后会介绍
//"3.14"是一个字符串类型,被parseInt转换成了number类型的整数
console.log(parseInt("3.14"))//不会四舍五入,打印3,number
console.log(parseInt("5.5px"))//不会四舍五入,打印5,number
// 字符串中只返回第一个数字,开头和结尾的空格是允许的,如果字符串的第一个字符不能被转换为数字
// 那么 parseFloat() 会返回 NaN。
// 如果是整数就输出整数,如果是小数就保留原来的部分
console.log(parseFloat(3.14))//3.14数字型
console.log(parseFloat("100px"))//100数字型
console.log(parseFloat("3"));//数字型的3
console.log(parseFloat("40 岁"))//打印数字型的40
// 再介绍一下parseFloat保留2位小数的用法,如果是整数就 整数.00
console.log(parseFloat(3.1415926).toFixed(2))//3.14
// 隐式转换,使用减乘除可以做到隐式转换
console.log("1" - 1)//0 NaN
// Number()转换
console.log(Number("3.14"))//字符串类型转换成数字类型,打印3.14
// Number()方法只可以用在数字上,如"1",true(1),false(0),这种形式是可以的
console.log(Number(1+undefined));//NaN(非数字型)
我为大家再介绍一种特殊的数字类型
NaN(Not a Number)非数字型
// NaN是非数字型
// 我为大家介绍一种检测是否为数字型方法
// isNaN是否为非数字型,如果是数字型返回false,如果不是数字型返回true
console.log(isNaN(1))//false
console.log(isNaN("前端"))//true
3.Boolean
Boolean是布尔值类型,如true、false,等价于1 和 0
默认值:false
代码介绍,比较详细:
// Boolean布尔值,常用用于判断,true是真,false是假
var isTrue = true
var isFalse = false//返回false,布尔型
console.log(isTrue)//返回true,布尔型
console.log(isFalse)//返回false,布尔型
// 检测数据类型使用typeof
console.log(typeof true)//boolean类型,返回boolean
console.log(typeof false)//boolean类型,返回boolean
// 其他数据类型转换成布尔类型时
// 语法Boolean("true")
// 代表空,否定的值会被转换为false,比如:0、NaN、null、undefined
// 其余值都会被转换成true
console.log(Boolean(""))//false
console.log(Boolean(0))//false
console.log(Boolean(NaN))//false
console.log(Boolean(null))//false
console.log(Boolean(undefined))//false
console.log(Boolean("开心"))//true
console.log(Boolean(12))//true
// 判断if,如果为真执行代码,如果为假,继续找下一个代码,直到找到为真的代码
if(true) {
console.log("我被输出了")
}
if(false) {
console.log("继续往下寻找")
}else if(true) {
console.log("我被找到了");
}else if(true) {
console.log("我被截胡了,没被执行");
}
4.Null
Null是空类型,var a = null,声明了变量a为空值
默认值:null
// null是空类型
var a = null//声明了变量,赋值为空
// 空的可玩性很大
var b = "我不是空"
b = null
console.log(b)//以前的值被覆盖了,为空
// 检测数据类型typeof,返回的是对象
console.log(typeof null)//返回oject
5.Undefined
Undefined是未定义类型,var a;声明了变量a,但没有赋值,此时a = undefined
默认值:undefined
// 声明了变量但没有赋值,此时输出为undefined
var a
console.log(a)//打印undefined
// 检测数据类型使用typeof
console.log(typeof a)//undefined类型,打印undefined
// 大家以后如果碰到打印undefined,可能就是这个值没有取到
6.Object
Object是对象,可以理解为一种无序的数据集合
对象增删改查基础的用法:
https://blog.csdn.net/m0_74577714/article/details/132949198?spm=1001.2014.3001.5502
// object是引用数据类型
// 创建对象的2种方法
var obj = {
// 记住用键值对的形式,记住要加逗号
name:"张三",
age:18,
// 是可以放函数的
sayHi :function(){
console.log("哈哈");
}
}
console.log(obj)//打印{name: '张三', age: 18, sayHi: ƒ}
// 介绍另一种方法,构造对象
var obj1 = new Object()
// 添加值进去
obj1.name = "李四"
obj1.age = 18
console.log(obj1)//打印{name: '李四', age: 18}
// 遍历对象的方法for..in
for(var key in obj1){
console.log(obj[key])//获取到属性名:张三,18
}
// typeof可以检测数据类型
console.log(typeof obj)//输出,ojbect
console.log(obj === obj1)//在堆当中,他们的对象不是同一个对象,返回false
感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)