JavaScript的数据类型及区别

简介: JavaScript的数据类型及区别一.JavaScript的数据类型分类js的数据类型分为值类型(基础类型/原始类型)和引用数据类型两大类。其中 值类型(基本类型/原始类型):字符串(String) 数字(Number) 布尔(Boolean) 对空(Null) 未定义(Undefined) Symbol(es6新增的,独一无二) 引用数据类型(混合数据类型):对象(Object) 数组(Array) 函数(Function)1.值类型 // 1.字符串 string 由单引号 或 双引号 包含的内容 var str1="赵凡";

JavaScript的数据类型及区别




一.JavaScript的数据类型分类

js的数据类型分为值类型(基础类型/原始类型)和引用数据类型两大类。其中


值类型(基本类型/原始类型):字符串(String) 数字(Number) 布尔(Boolean) 对空(Null) 未定义(Undefined) Symbol(es6新增的,独一无二)


引用数据类型(混合数据类型):对象(Object) 数组(Array) 函数(Function)


1.值类型


// 1.字符串  string     由单引号 或 双引号 包含的内容varstr1="赵凡";
varstr2='赵凡Plus';
console.log(str1,str2);
// 字符串的拼接    +console.log(str1+"Pro"+str2);
// 2.数字  number    整数型   浮点型varnum1=10;
console.log(num1);
varnum2=10.00;
console.log(num2);
// 科学计数法   e   10的多少次方varnum3=8888e5;
console.log(num3);
varnum3=8888e-8;
console.log(num3);
// 进制   varnum4=010;//0开头的代表  八进制console.log(num4);
varnum5=0x11a;//0123456789abcdef     0x开头表示十六进制console.log(num5);
// 3.布尔(值) Boolean   逻辑  只包含两个值  true  falsevarbool1=true;
varbool2=false;
console.log(bool1);
console.log(bool2);
if(bool2){
console.log("真")
    }else{
console.log("假")
    }
// 4.对空  null    清空变量vara="沈春阳";
varb=null;
a=null;
console.log(a);//nullconsole.log(b);
varx=null;
// 5.未定义  undefined    声明 未赋值varn;
console.log(n);//undefined

2.引用数据类型

 

// 1.对象  object   {key:value,key:value...}   键值对varobj1={
name:"诸葛成",
sex:"不详",
age:22,
hobby:function(){
console.log("干啥啥不行")
        }
    }
console.log(obj1);
console.log("姓名:"+obj1.name);
console.log("性别:"+obj1.sex);
obj1.hobby();
// 2.数组   array   [数组项1,数组项2,...]  数组项可以使任意数据类型vararr1=[0,1,2,3,4,5];
console.log(arr1);
vararr2=[0,"hello",true];
console.log(arr2);
// 数组的索引值   从0开始console.log(arr2[0]);
console.log(arr2[1]);
// 3.函数  function    方法   功能varfunc1=function(){
// 执行代码块console.log("这是一个方法")
    }
// 调用方法/函数func1();

3.值类型数据与引用数据类型的区别

 

// 值类型:string number boolean null undefined  symbolvarm=10;
varn=m;
console.log(m);
console.log(n);
m=20;
console.log(n); //10console.log(m); //20// 引用类型:object array functionvarobj1= {
name: "王选东"    }
console.log(obj1); //{name:"王选东"}varobj2=obj1;
console.log(obj2); //{name:"王选东"}obj2.name="王大炮";
console.log(obj2); //{name:"王大炮"}console.log(obj1); //{name:"王大炮"}


根据以上代码可以看出,变量的数据类型为值类型时,两个变量其中一个改变不会影响两外一个值,而变量的数据数据类型为引用数据类型时,两个变量其中一个变量改变会影响另一个变量的值。


图片.png


4.数据类型的判断


// 判断数据类型   typeof   返回数据类型varnum=0;
console.log(typeof(num));//numbervarstr="";
console.log(typeofstr);//stringvarbool=false;
console.log(typeofbool);//booleanvarx=null;
console.log(typeofx);//object   null   空对象vary;
console.log(typeofy);//undefinedvarobj={name:"张三"};
console.log(typeofobj);//objectvararr=[1,2,3,4,5];
console.log(typeofarr);//objectvarfunc=function(){};
console.log(typeoffunc);//function//使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 "object"。//与 typeof 方法不同的是,instanceof方法要求开发者明确地确认对象为某特定类型。通常来讲,使用 instanceof 就是判断一个实例是否属于某种类型。// instanceof   操作符console.log(arrinstanceofArray);
console.log(objinstanceofArray);
// Array.isArray()    是否是一个数组console.log(Array.isArray(arr));
console.log(Array.isArray(obj));

5.数据类型的转换

// 数据类型的转换console.log(typeofString(num));//stringconsole.log(Number(bool));//0console.log(Boolean(str));//false


讲解视频链接:

1.https://www.bilibili.com/video/BV1Lf4y1U7Cr/

2.https://www.bilibili.com/video/BV1UC4y1H7xC/

3.https://www.bilibili.com/video/BV1zK411W7M4/



相关文章
|
2月前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
137 59
|
10天前
|
设计模式 JavaScript 前端开发
js中new和object.creat区别
【10月更文挑战第29天】`new` 关键字和 `Object.create()` 方法在创建对象的方式、原型链继承、属性初始化以及适用场景等方面都存在差异。在实际开发中,需要根据具体的需求和设计模式来选择合适的方法来创建对象。
|
2月前
|
前端开发 JavaScript UED
JavaScript防抖和节流的使用及区别
JavaScript防抖和节流的使用及区别
104 57
|
28天前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
60 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
1月前
|
存储 JavaScript 前端开发
js中函数、方法、对象的区别
js中函数、方法、对象的区别
16 2
|
1月前
|
JavaScript 前端开发 开发者
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
21 1
|
1月前
|
JavaScript 前端开发
【JavaScript】let,const和var的区别
总的来说,随着ECMAScript 6(ES6)及后续版本的推广,`let`和 `const`因其增强的块级作用域和对变量行为的更严格控制,逐渐成为现代JavaScript编码实践中推荐使用的变量声明方式。而 `var`由于其历史遗留的局限性,正逐渐被边缘化,但在维护老代码或处理特定兼容性需求时仍需了解。
30 3
|
2月前
|
前端开发 JavaScript 开发者
React 和 Vue.js 框架的区别是什么?
React 和 Vue.js 框架的区别是什么?
|
28天前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
16 0
|
2月前
|
JavaScript 前端开发
JavaScript中单引号和双引号的效果的一点区别
JavaScript中单引号和双引号的效果的一点区别