首页 > 其他分享 >2.数据类型

2.数据类型

时间:2023-11-04 15:56:31浏览次数:34  
标签:变量 数据类型 str 数组 var 2.2 赋值

2.1 变量声明关键字

  • var

  • let

  • const

2.1.1 变量存储

变量是对字面量的存储,当我们想要反复使用某个字面量时,可以使用变量存储,下次直接使用变量名即可,不需要再去创建一个新的字面量。

如果我们要弹出三次的Hello JavaScript字符,那么我们就需要使用以下代码

alert("Hello JavaScript")
alert("Hello JavaScript")
alert("Hello JavaScript")

如果使用变量,我们就变成了下面的写法

var str = "Hello JavaScript"
alert(str)
alert(str)
alert(str)
2.1.2 变量声明

变量可以单独声明,就像我们单独做了一个箱子,但没有往箱子中放任何东西

var 变量名 // 单独声明变量不赋值
2.1.3 变量赋值
变量赋值是一个把值存放在变量中的过程,这个过程需要用赋值运算符 = 来进行。
var 变量名
变量名 = 值

这是一种先声明再赋值的过程,一般情况下,我们可以将变量声明及赋值放在一起

var 变量名 = 值
2.1.4 变量提升问题

使用var声明的变量存在变量提升的问题,那么什么是变量提升。变量提升一个客观事实,表现为,当我们先使用变量,后声明变量时,没办法得到正常的结果,看下面效果。

console.log(str) // 如果是其他编程语言,这个地方是会报错的,告诉我们变量str找不到。但是在js中不会这样,js会直接输出undefined,一个没有学过的值
var str = "Hello World"

在JavaScript中,上面的代码其实相当于下面的代码

var str
console.log(str) // 输出一个还没有学过的值undefined
str = "Hello World"

2.2 数据类型

字面量其实有不同的类型,在写JS代码时,在不同的情况,我们也需要使用不同的类型值,前期我们不清楚什么时候使用不同的类型,那么我们就需要先学习类型都有那些。

JS中的值都是存储在内存中的

2.2.1 String

在JS中,所有的用引号包裹的内容都是字符串

"字符串"
'字符串'
"123"
"3.14"
"true"

字符串包裹不限双引号和单引号

2.2.2 Number

在JS中直接写的数字没有被引号包裹的叫Number

1
10
10.11
2.2.2  NaN

NaN是一个特殊的数字,全称“Not a Number(不是一个数字)”因为在JS中很多操作都可能把一些值转换为数字,但是有些值,如特殊字符串等无法被转换为现存的数字类型

2.2.3 Boolean

在JavaScript中,有一个值掌管对错,那就是布尔值(Boolean),布尔值只有两个值 truefalse

true
false

2.2.4 Undefined

  1. 定义了一个变量但没有为该变量赋值,使用了一个并未赋值的变量

  2. 使用了一个不存在的对象的属性时

Undefined类型下只有undefined一个值,这个值在很多地方都会出现,先做了解。变量声明未赋值时就是 undefined

var str
console.log(str) // undefined

2.2.5 Null

  • null表示一个空值

  • null不等于空字符串""、''或0

  • null和undefined的区别是,null表示一个变量被赋予了一个空值,而undefined则表示该变量尚未被赋值

2.2.6 Array(数组)

2.2.6.1 创建数组

数组的写法很简单,我们可以使用 [] 来表示数组

创建数组时我们可以在数组中存放值,值的写法是统一的

数组中的值类型不作限制,设置我们可以直接存放一个新的数组都可以

var arr = []

var arr = [1, "字符串", true, undefined, null, []]
2.2.6.2索引值

在数组中,值是有顺序的,从0开始到最终结束。

[1,2,3,4,5] 这个数组的顺序就是0、1、2、3、4,而这些值就是这个数组的索引值,也叫下标

2.2.6.3 数组取值

如果我们想要使用数组中的某个值,则需要使用变量名[索引值]

let arr = ["第一个值", "第二个值", "第三个值", "第四个值"]
console.log(arr[0]) // 第一个值
console.log(arr[1]) // 第二个值
console.log(arr[2]) // 第三个值
console.log(arr[3]) // 第四个值

2.2.7 Object 对象

一切切对象

数组可以存储多个值,但是无法得知每个值的作用是什么,如果我们想要给每个值有对应的特性,可以使用对象,对象以 key: value 形式存在。在 {} 中包裹

{
  key: value,
  key: value,
  key: value,
  自定义属性名: "属性值"
}

比如,如果我们想要表示一个学生的“姓名”, “年龄”, “性别”,使用数组表示为下面的形式

let stu = ['张三', 18, '男'] // 虽然每个值都有,但是在有些时候,我们不知道那个值对应的是什么,这个时候就可以使用对象

使用对象则会更加清晰明了

let stu = {
    name: "张三",
  age: 18,
  sex: "男"
}

 

 

 

 

 

 

 

标签:变量,数据类型,str,数组,var,2.2,赋值
From: https://www.cnblogs.com/c-pp/p/17809325.html

相关文章

  • OpenCV 基础数据类型
    常用基础数据类型Rect/Rect2d/Rect2f定义一个矩形区域,带大小和位置Size/Size2d/Size2f定义一个矩形大小,不带位置Point/Point2d/Point3i定义一个二维或三维的点坐标Range/Rangef,定义一个带有下上限的范围Vec3b/Vec3d/Vec4b,定义一个三维或四维的向量,Mat的每个点......
  • 梳理C++各种数据类型所占字节数和表示范围
    Outline1.数据类型所在字节数与程序运行平台有关2.列举各种数据类型所占字节数1.数据类型所在字节数与程序运行平台有关不同的平台上对不同数据类型分配的字节数是不同的。平台环境的理解:硬件架构操作系统(OS)编译器(Compiler)程序的运行环境取决于上述配件。原因:64位机......
  • 数据类型-数组
    1.定宽数组:compile时确定intarry[5:0]  equivalentto  intarry[6]arry[5:0]=`{1,2,3,4,5,6};arry[5:0]=`{6{6}};arry[5:0]=`{1,2,3,default:4}=`{1,2,3,4,4,4} //=====================================================================2.动态数组:simu......
  • (三)C#编程基础复习——数据类型
    C#语言中内置了一些基本的数据类型,数据类型用来指定程序中变量可以存储的数据的类型,C#中的数据类型可以大致分为三类:值类型(Valuetypes);引类型(Referencestypes);指针类型(Pointertypes);一、值类型值类型顾名思义就是有带数值的类型,C#中的值类型有非常多,值类型变量声明后,不......
  • Mysql 几种数据类型
    数值类型类型 大小 范围(有符号) 范围(无符号) 用途TINYINT 1Bytes (-128,127) (0,255) ......
  • mysql 5.7之后新增的json数据类型
    如图,可以直接把json数据存入mysql数据库,读取时也可以根据json中,属性名来读取。加上虚拟列,即可,如下图 ......
  • 二、1、java基础之关键字、标识符、注释、常量、变量及数据类型
    1、关键字关键字是被java语言赋予特殊含义的单词,其中goto和const作为保留字存在,字母都是小写2、标识符用于起名字的规则,对变量,类,接口等起名字的字符序列规则:可以使用大小写字母,可以存在数字。可以使用$和_注意事项:不能以数字开头,不能与关键字重名,区分大小写,见名知意常见的命......
  • 基于Redis的ZSET数据类型实现点赞排行榜
    点赞排行榜(ZSET实现)实现原理:使用redis的zset进行存储,score为当前时间,值为用户IDpublicResultlikeBlog(Longid){//1.获取登录用户LonguserId=UserHolder.getUser().getId();//2.判断当前登录用户是否已经点赞Stringkey=BLOG_LIKED_KEY+id;Doublescore=stringR......
  • java 基本数据类型和引用数据类型
    ......
  • Opencascad开发(C++)-数据类型转换-Shape、Verterx和gp_pnt的转化
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录1、前言2、TopoDS_Shape与TopoDS_Vertex的转换2.1TopoDS_Shape到TopoDS_Vertex2.2TopoDS_Vertex到TopoDS_Shape3、TopoDS_Vertex与gp_Pnt3.1TopoDS_Vertex到gp_Pnt3.2gp_Pnt到TopoDS_Vertex1、前言在Open......