一、数据类型分类
1、基本数据类型(值类型):
特征:基本数据类型数据赋值给某一个变量之后值本身就不会再发生改变
- 数值类型(number):整数、小数、科学计数法、二进制(0b)、八进制(0)、十六进制(0x)
//数值类型
var num = 1; //整数
num = 1.23; //小数
num = 1e3; //科学计数法
num = 0b10; //二进制
num = 010; //八进制
num = 0X10; //十六进制
console.log(num);
- 字符串(string):单引号或者双引号包含,空字符串,空白字符串
//字符串类型
var name = 'zhaoliying'; //单引号
name = "wangluyuan"; //双引号
name = "苏楠"; //中文
name = ''; //空字符串
name = ' '; //空白字符串
name = "it's a dog";//碰到这种特殊情况两边必须是双引号
name = "我是‘小美女’";//引号单双引号在解析时,从左到右只要成对,就认为是一个字符串
//当一个字符串当中需要强调或者需要包含另外一个子串的时候
//子串和外面的引号要区分开来
console.log(name);
- 布尔(boolean):true/false
//布尔类型
var isMove = true;
isMove = false;
console.log(isMove);
- undefined:定义的变量没有赋值
//undefined
var age;
console.log(age);
- null:定义的变量赋值为null(一般是对象进行初始化使用或者删除一个对象的时候用到)
//null空类型
var obj = null;
console.log(obj);
2、对象数据类型(复杂、引用)
- 对象 Object
- 数组 Array
- 函数 Function
特征:引用数据类型的值可以通过其赋值的变量修改
二、数据类型的判断(typeof)
typeof的返回值有:String,Number,Boolean,Undefined,Function,Object(Array 和 Null 的返回值都是Object)
var b = {name:'kobe'};
b.name = 'wade'; // 修改的是对象本身的数据
//操作对象的属性不会导致变量的指针指向发生变化
b = {name:'haonan'};//操作对象本身,会导致指针指向发生改变
console.log(b);
//数据类型的判断
console.log(typeof num);//number
console.log(typeof name);//string
console.log(typeof isMove);//boolean
console.log(typeof age);//undefined
//特殊情况
console.log(typeof obj);//object因为null是用来对对象进行操作的所以类型出来是object
使用instanceof 来判断A是否是B的实例,返回值是布尔值
// instanceof
console.log(arr instanceof Array); // true
console.log(obj instanceof Array); // false
console.log(arr instanceof Function); // false
console.log(obj instanceof Object); // true
案例:
console.log(typeof typeof num);//string
console.log(typeof typeof typeof typeof num);//string
console.log(typeof typeof typeof typeof isMove);//string
本文介绍了JavaScript的基本数据类型(数值、字符串、布尔、undefined、null)和对象数据类型,探讨了如何通过typeof操作符判断数据类型,并展示了使用instanceof检查对象类型的方法。此外,还讨论了数据类型的修改和引用特性。
671





