iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS入门必备之八种数据类型
  • 894
分享到

JS入门必备之八种数据类型

2024-04-02 19:04:59 894人浏览 八月长安
摘要

目录一、开门见山?二、动态数据类型?(1)字符串string(2)数值number(3)布尔boolean(4)null和undefined(5)symbol (6)对象o

一、开门见山?

在ES5的时候,我们认知的数据类型确实是 6种:Number、String、Boolean、undefined、object、Null

  • es6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。
  • 谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。

所以:准确来说目前js数据类型总共有8种

  • Number
  • String
  • Boolean
  • Null
  • Undefined
  • Object
  • Symbol
  • BigInt

按照类型来分有基本数据类型和引用数据类型:

基本数据类型:String、Number、Boolean、Null、Undefined、Symbol、BigInt

引用数据类型:Object【Object是个大类,function函数、array数组、date日期...等都归属于Object】

二、动态数据类型?

javascript 拥有动态类型。这意味着相同的变量可用作不同的类型

JavaScript中变量似乎很简单,因为它声明变量只需要一个“var”就可以,不像其他编程语言严格区分了数据类型(int/double/char/boolean...)。这样做也是有好处的,变量可以被赋予任何类型的值,同样也可以给这个变量重新赋予不同类型的值。并不是“一定终身”

var x = 1;        //number类型
var x = 0.1;     //number类型,JS不区分整数值和浮点数值

//现在x由number变成string
var x = "hello world"; //由双引号内文本构成字符串
var x = 'javascript';   //单引号内文本同样可以构成字符串

//现在x由string变成boolean
var x = true;    //true和false作为布尔值

var x = null; 
var x = undefined;  //null和undefined很相似,是特殊的类型

(1)字符串string

字符串是存储字符(比如 "Bill Gates")的变量

字符串可以是引号中的任意文本。可以使用单引号或双引号

  • 使用单引号或者双引号,没有区别
  • 单引号不要嵌套单引号。双引号同理,非要嵌套需要对引号进行转义 \' \"
var str = '孙悟空'; //单引号字符串
var str2 = '猪八戒'; //双引号字符串

其他转义字符:

  • \n 表示换行符
  • \r 表示回车符
  • \t 水平制表符 tab
  • \' 单引号     
  • \" 双引号     
  • \\ 反斜杠 
  • \uXXXX 四位十六进制表示unicode字符串
  • \xXX 两位十六进制表示拉丁字符

字符串拼接:

var str1 = "hello";
var str2 = "world";
var str = str1 + str2
console.log(str); //helloworld

(2)数值number

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带

var num1=5.02;     //使用小数点来写
var num2=520;      //不使用小数点来写

//极大或极小的数字可以通过科学(指数)计数法来书写
var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

数值范围:

  • 5e324 ~ 1.7976931348623157e+308
  • 如果超过范围,会表示为 Infinity 或者 -Infinity

特殊的数值NaN:

  • NaN是number类型,是一个数值
  • 特点1:NaN与任何数进行任何运算结果都是NaN
  • 特点2:NaN与任何数都不相等,包括自己

相关函数:

  • isNaN() 判断数据是否是NaN, 是返回true,否则返回false
  • isFinite() 判断数据是否在范围内,在范围内返回true,否则false
//NaN是一个特殊的number,与其他所有值都不相等,包括它自身
console.log(NaN === NaN ); //false

//唯一识别NaN的方法
console.log(isNaN(NaN) );  //true

// 范围:5e324 ~ 1.7976931348623157e+308
var min = 5e324;
var max = 1.7976931348623157e+308;
var a = 1.7976931348623157e+309; 

console.log(min); //Infinity
console.log(max); //1.7976931348623157e+308
console.log(a);   //Infinity
console.log(isFinite(a)); //false(超出范围,不在数值范围内)

(3)布尔boolean

布尔(逻辑)只能有两个值:true 或 false

var x=true;
var y=false;

(4)null和undefined

null 表示没有对象,此处无值

undefined 表示缺少值,本来应该有值但没定义

var x = null;
var y = undefined

(5)symbol

Symbol 函数可以接受一个字符串作为参数,为新创建的 Symbol 提供描述,用来显示在控制台或者作为字符串的时候使用,便于区分

let name = Symbol();
let name2 = Symbol("bb");
console.log(name);  // Symbol()
console.log(typeof name);  // "symbol"
console.log(name,name2); //Symbol() Symbol(bb)
console.log( name === name2); // false

 (6)对象object

对象由花括号分隔。在括号内部,对象的属性以键值对的形式 (name : value) 来定义。属性由逗号分隔

//空格和折行无关紧要。声明可横跨多行
var obj = {
    "name":"张三",
    "age":18
}

(这里键名也可以不用加引号) 

读取对象中属性:

name = obj.name
//或
name = obj['name']

三、基本数据类型与引用数据类型区别?

3.1 声明变量时不同的内存分配

  • 基本数据类型由于占据的空间大小固定且较小,会被存储在当中,也就是变量访问的位置
  • 引用数据类型存储在当中,变量访问的其实是一个指针,它指向存储对象的内存地址

3.2 正是因为内存分配不同,在复制变量时结果也不一样

  • 基本数据类型复制后2个变量是独立的,因为是把值拷贝了一份
  • 引用数据类型则是复制了一个指针,2个变量指向的值是该指针所指向的内容,一旦一方修改,另一方也会受到影响?
<script type="text/javascript">
    var x = 3;
    var y = x;
    console.log(x,y); //3 3
    // 基本数据类型复制后2个变量是独立的
    x = 5; //修改一方,另一个不受影响
    console.log(x,y); //5 3 
    
    
    var a = [0,1,2,3];
    var b = a;
    console.log(a, b); //(4) [0, 1, 2, 3] (4) [0, 1, 2, 3]
    a[0] = 9
    console.log(a, b); //(4) [9, 1, 2, 3] (4) [9, 1, 2, 3]
</script>

 

结果:

这里明显可以看出b复制了a,改变a数组的值,b数组也跟着改变了。这就是因为当引用数据类型复制的是同一个指针而不是同一个值,指针指向的地址都是相同的,一方修改另一方也会受影响!

(这里涉及了JS的深拷贝和浅拷贝,这里就不再详细赘述,后面会有单独文章进行讲解)

3.3 参数传递不同

  • 基本数据类型把变量里的值传递给参数,之后参数和这个变量互不影响
  • 引用数据类型(这里拿函数举例):虽然函数的参数都是按值传递的,但是引用值传递的值是一个内存地址,实参和形参指向的是同一个对象,所以函数内部对这个参数的修改会体现在外部

数据类型的转换以及检测数据类型的方法会在其他文章单独讲解,为了方便阅读这里就不再详细赘述~

参考链接:

https://www.html.cn/qa/javascript/11619.html

Https://www.cnblogs.com/nangezi/p/9049025.html

https://blog.csdn.net/u013592575/article/details/95087953

总结

到此这篇关于JS入门必备之八种数据类型的文章就介绍到这了,更多相关JS 八种数据类型内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: JS入门必备之八种数据类型

本文链接: https://www.lsjlt.com/news/164088.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JS入门必备之八种数据类型
    目录一、开门见山二、动态数据类型(1)字符串string(2)数值number(3)布尔boolean(4)null和undefined(5)symbol (6)对象obj...
    99+
    2024-04-02
  • JavaScript的八种数据类型
    目录一、前言二、动态数据类型2.1 字符串string2.2 数值number2.3 布尔boolean2.4 null和undefined2.5 symbol2.6 对象objec...
    99+
    2024-04-02
  • 编程入门必备知识:详解常见的基本数据类型
    编程入门必备知识:详解常见的基本数据类型 在学习编程的过程中,了解和掌握基本数据类型是非常重要的。无论是使用哪种编程语言,几乎都会涉及到基本数据类型的使用。本文将详解常见的基本数据类型...
    99+
    2024-02-23
    数据类型 基本类型 编程入门
  • Python入门必学:数据类型和变量的用
    什么是数据类型?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python...
    99+
    2023-01-30
    变量 数据类型 入门
  • python入门——python数据类型
    一、数据类型1、核心数据类型:数字:int, long(python3.5已经没有), float, complex, bool字符:str, unicode列表:list字典:dict元组:tuple集合:set(可变集合),frozen...
    99+
    2023-01-31
    数据类型 入门 python
  • Python入门教程之变量与数据类型
    目录一、 Python变量与数据类型1.变量概述2.创建变量3.Python3常用的数据类型3.1.数字(Numbers)3.2.字符串(String)3.3.列表(list)3.3...
    99+
    2024-04-02
  • Java中的八种基本数据类型详解
    目录一、八种基本数据类型常识基本常识表详解二、直接量与类型转换2.1、直接量2.2、类型转换1.自动转换:低类型的向高类型的转换 2.强制转换:高类型的向底类型转换,但可能...
    99+
    2024-04-02
  • JavaScript的八种数据类型分别是什么
    小编今天带大家了解JavaScript的八种数据类型分别是什么,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“JavaScript的八...
    99+
    2023-06-26
  • PHP入门指南:数据类型
    PHP作为一门流行的服务器端脚本语言,因其易学易用而备受欢迎。在PHP编程中,要掌握和理解不同的数据类型,这对于编写有效的PHP程序至关重要。本文将介绍PHP中的数据类型,包括标量、复合、特殊和NULL。了解这些数据类型及其使用方式将有助于...
    99+
    2023-05-21
    数据类型 PHP 入门指南
  • Python入门(六)Python数据类型
    目录内置数据类型获取数据类型设置数据类型设定特定的数据类型内置数据类型 在编程中,数据类型是一个重要的概念。 变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。 在这些类别...
    99+
    2023-05-14
    Python入门 Python数据类型
  • python从入门到实践之组合数据类型
    目录组合数据类型分类集合类型集合类型的定义集合类型的一些操作序列集合映射集合总结组合数据类型分类 组合数据类型分为三类,第一类是集合类型,第二类是序列类型,第三类是映射类型 集合类型...
    99+
    2024-04-02
  • js数据类型之数字类型的示例分析
    这篇文章主要介绍了js数据类型之数字类型的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们具体介绍一下js的数据类型其中一种。一、...
    99+
    2024-04-02
  • MySQL入门(二) 数据库数据类型详解
    序言 今天去健身了,感觉把身体练好还是不错的,闲话不多说,把这个数据库所遇到的数据类型今天统统在这里讲清楚了,以后在看到什么数据类型,咱度应该认识,对我来说,最不熟悉的应该就是时间类型这块了。但是通过今天的...
    99+
    2024-04-02
  • C语言入门之浅谈数据类型和变量常量
    目录1.变量的作用域:2.变量的生命周期:1.字面常量,如:100,‘v’;2.define宏定义的标识符常量3.const修饰的常变量4.枚举常量总结首先我...
    99+
    2024-04-02
  • GO语言入门学习之基本数据类型字符串
    目录字符串字符串转义符byte和rune类型修改字符串类型转换总结字符串 Go语言中的字符串以原生数据类型出现。 Go 语言里的字符串的内部实现使用UTF-8编码。 字符串的值为双引...
    99+
    2024-04-02
  • JS中的四种数据类型判断方法
    目录1、typeof2、instanceof3、constructor4、toString() 本文总结了四种判断方法: 1、typeof typeof是一个运算符,其有两种使用方式...
    99+
    2024-04-02
  • 深入学习Golang并发编程必备利器之sync.Cond类型
    目录1. sync.Cond 的基本概念1.1 条件变量1.2 互斥锁1.3 条件变量的实现原理2. sync.Cond 的基本用法2.1 创建 sync.Cond 对象2.2 等待...
    99+
    2023-05-18
    Golang sync.Cond原理 Golang sync.Cond使用 Golang sync.Cond
  • 数据库性能调优入门:新手必备知识
    1、慢查询优化 慢查询是影响数据库性能的主要原因之一,慢查询优化是数据库性能调优的首要任务。以下是一些常用的慢查询优化技术: 1.1 使用EXPLAIN语句分析查询语句的执行计划,找出查询语句执行缓慢的原因。 1.2 使用索引来优化...
    99+
    2024-02-13
    数据库性能调优 慢查询优化 索引设计 查询优化 事务调优
  • python入门课程第四讲之内置数据类型有哪些
    目录前言变量数据类型总览Python是弱类型的语言各数据类型的详细介绍整数(int)整数的不同进制浮点数/小数(float)小数的书写形式复数(complex)布尔类型(bool)总...
    99+
    2024-04-02
  • 大数据分析必备技能:Python和NumPy入门指南
    大数据分析是当今社会最热门的技术领域之一,许多企业和组织都在积极采集大量的数据并进行分析。Python作为一种非常流行的编程语言,以其易学易用、强大的数据处理能力和广泛的应用领域而闻名于世。而NumPy则是Python中用于科学计算和数据分...
    99+
    2023-10-13
    git 大数据 numy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作