在我们的js中,每个数据都有不一样的类型,就是数据类型
一、数据类型简介:
1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型);
2.js常用的基本数据类型包括undefined - - (未定义)、null- - (空的)、number - - (数字)、boolean- - (布尔值)、string- - (字符串)、Symbol - - (符号);
3.js的引用数据类型也就是对象类型Object- - (对象),比如:array - - (数组)、function - - (函数)、date - - (时间)等;
二、各个数据类型的概念
基本数据类型存放在栈中 引用数据类型存放在堆中。
1.基本数据类型
Undefined: 取undefined一个值。 表示变量不含有任何值。是未定义的状态。
string:
①字符串类型中的单双引号作用一样;
②字符串有length属性,可以取得字符串的长度:
let one = 'Hello world' console.log(one.length) // 输出长度:11 ③字符串的值是不可变的,要改变一个字符串的值,首先要销毁原来的字符串,再用另一个包含新值得字符串区填充该字符串;
④字符串转换:
String(),转型函数,适用于任何数据类型(两个例外:null,undefined转换后为null和undefined)
toString()方法可以把一个逻辑值转换为字符串,并返回结果(两个例外:null、undefined没有toString()方法)
let ab = 'hello world' let bc = null let cd = undefined console.log(ab.toString()) // 输出:hello world // console.log(bc.toString()) // 报错 // console.log(cd.toString()) // 报错 console.log(String(ab)) // 输出:hello world console.log(String(bc)) // 输出:null console.log(String(cd)) // 输出:undefined Boolean: 只有俩个值:true或false。 布尔值常用在条件测试中。比如说判断1>2是不是对的,是对的就返回true,是错的就返回false,然后我们就可以根据返回的结果去做俩种不同的操作。
Null:
只有一个值。null是表示一个空对象指针,这也是typeof操作符检测 null 值时会返回 object 的原因。
Number: 数字(数字可以带小数点也可以不带)、NaN、Infinity
2.引用数据类型
引用类型的值可以改变:
let person = {name: 'lisa'} person.name = 'Jane' // 通过修改对象属性值更改对象 console.log(person) // 输出:{name: "Jane"} person.age = 18 // 给对象增加一个属性 console.log(person) // 输出:{name: "Jane", age: 18} let arr = [1, 2, 3, 4, 5] arr[0] = 0 // 更改数组的某一个元素 console.log(arr) // 输出:[0, 2, 3, 4, 5] arr[5] = 6 // 给数组增加一个元素 console.log(arr) // 输出:[0, 2, 3, 4, 5, 6] 引用类型可以添加属性和方法:
let person = {} person.name = 'lisa' person.say = function () { alert('hello world') } console.log(person.name) // 输出:lisa console.log(person.say) // 输出:function () { alert('hello world') } 引用类型的赋值是对象引用:
let a = {} let b = a a.name = 'lisa' console.log(a.name) // 输出:lisa console.log(b.name) // 输出:lisa b.age = 18 console.log(a.age) // 输出:18 console.log(b.age) // 输出:18