JavaScript基础第二课

目录

一.JavaScript变量

1.理解变量是计算机存储数据的“容器”

2.变量的基本使用

3. 变量的本质

4. 变量命名规则

二. 变量拓展-数组

1. 数组的基本使用

2. 取值语法

三.JavaScript常量

四.JavaScript数据类型

①基本数据类型

②引用数据类型

③NaN

④通过 typeof 关键字检测数据类型

⑤ 数据类型转换

1.隐式转换

2.显式转换


一.JavaScript变量

1.理解变量是计算机存储数据的“容器”

变量不是数据本身,是计算机中用来存储数据的“容器”,它可以让计算机变得有记忆。

2.变量的基本使用

① 声明变量

要想使用变量,首先需要创建变量(也称为声明变量或者定义变量)

let 变量名

声明变量有两部分构成:声明关键字、变量名(标识)

let 即关键字 (let: 允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语

② 变量赋值

定义了一个变量后,你就能够初始化它(赋值)。在变量名之后跟上一个“=”,然后是数值。

 也可以声明变量的时候直接完成赋值操作,这种操作也称为 变量初始化。

let age =18

 ③ 更新变量

let age =18
//声明一个age变量
age = 19
//更新为19
document.write(age)
  • 注意: let 不允许多次声明一个变量。

④ 声明多个变量

多个变量中间用逗号隔开。

let age =18,uname ='hzttao'
 3. 变量的本质

内存:计算机中存储数据的地方,相当于一个空间

变量本质:是程序在内存中申请的一块用来存放数据的小空间

4. 变量命名规则

不能用关键字

关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。例如:let、var、if、for等

只能用下划线、字母、数字、$组成,且数字不能开头

字母严格区分大小写,如 Age 和 age 是不同的变量

例子:

 二. 变量拓展-数组

数组 (Array) 是一种将一组数据存储在单个变量名下的方式

let arr = []

 

 1. 数组的基本使用

let names = ['张三','李四','王五',10]

数组是按顺序保存,所以每个数据都有自己的编号

计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推

在数组中,数据的编号也叫索引或下标

数组可以存储任意类型的数据

2. 取值语法

 测量数组长度:

console.log(names.length)

 三.JavaScript常量

使用 const 声明的变量称为“常量”。

当某个变量永远不会改变的时候,就可以使用 const 来声明,而不是let。

命名规范:和变量一致

const G = 9.8
console.log(G)
  • 常量不允许重新赋值,声明的时候必须赋值(初始化)
  • 不需要重新赋值的数据使用const

四.JavaScript数据类型

  • JS 是弱数据类型,变量到底属于那种类型,只有赋值之后,我们才能确认

JS 数据类型整体分为两大类:

 ①基本数据类型

number 数字型:

JavaScript 中的正数、负数、小数等 统一称为 数字类型。

数字可以有很多操作,比如,乘法 * 、除法 / 、加法 + 、减法 - 等等,所以经常和算术运算符一起。 数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。

优先级:先乘除后加减,有括号先算括号里面的

string 字符串型:

通过单引号( '') 、双引号( "")或反引号( ` ) 包裹的数据都叫字符串

  •  必要时可以使用转义符 \,输出单引号或双引号

字符串拼接: + 运算符 可以实现字符串的拼接。(数字相加,字符相连)

let uname = 'hzttao'
let song ='hzt'
document.write(uname + song)//hzttaohzt

模板字符串: 

`` (反引号)

在英文输入模式下按键盘的tab键上方那个键(1左边那个键)

内容拼接变量时,用 ${ } 包住变量

boolean 布尔型

表示肯定或否定时在计算机中对应的是布尔类型数据。

它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)。

undefined 未定义型

未定义是比较特殊的类型,只有一个值 undefined。

只声明变量,不赋值的情况下,变量的默认值为 undefined,一般很少【直接】为某个变量赋值为 undefined

  •  工作中的使用场景: 我们开发中经常声明一个变量,等待传送过来的数据。 如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来 。

null 空类型

null 仅仅是一个代表“无”、“空”或“值未知”的特殊值

 null 和 undefined 区别:

undefined 表示没有赋值

null 表示赋值了,但是内容为空

  • null使用场景:将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
 ②引用数据类型

object 对象

③NaN

NaN 代表一个计算错误。它是一个不正确的或者一个未定义的数学操作所得到的结果

console.log('老师'-2)//NaN

NaN 是粘性的。任何对 NaN 的操作都会返回 NaN

console.log(NaN+2)//NaN
 ④ 通过 typeof 关键字检测数据类型

typeof 运算符可以返回被检测的数据类型。

它支持两种语法形式:

1. 作为运算符: typeof x (常用的写法)

2. 函数形式: typeof(x)

⑤  数据类型转换

使用表单、prompt 获取过来的数据默认是字符串类型的,此时就不能直接简单的进行加法运算。

 

1.隐式转换

 某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。

  • 规则:

+ 号两边只要有一个是字符串,都会把另外一个转成字符串

除了+以外的算术运算符 比如 -* / 等都会把数据转成数字类型

  • 小技巧:

+号作为正号解析可以转换成数字型

任何数据和字符串相加结果都是字符串

 2.显式转换

自己写代码告诉系统该转成什么类型

  • 转换为数字型:

Number(数据):

转成数字类型

如果字符串内容里有非数字,转换失败时结果为 NaN(Not a Number)即不是一个数字

NaN也是number类型的数据,代表非数字

parseInt(数据) 只保留整数

parseFloat(数据) 可以保留小数

  • 转字为符型:

String(数据)

变量.toString(进制)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/448503.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

函数重载你真的了解吗?

1.什么叫函数重载? 函数重载(Function Overloading)是指在同一个作用域内,允许定义多个具有相同名称但参数列表不同的函数。具体而言,函数重载允许你定义同名的函数,但这些函数应该有不同的参数类型、参数个…

【网络安全】2024年暗网威胁分析及发展预测

暗网因其非法活动而臭名昭著,现已发展成为一个用于各种非法目的的地下网络市场。 它是网络犯罪分子的中心,为被盗数据交易、黑客服务和邪恶活动合作提供了机会。为了帮助企业组织更好地了解暗网发展形势,近日,卡巴斯基的安全研究…

QT 使用 QWebChannel 与 Web 端通信展示文件信息

前言 本文将展示如何使用 QWebChannel 来实现 Web 端与 QT 端之间的交互,同时会通过一个在浏览器端展示文件夹信息的简单例子来展示其具体使用,其功能如下: 获取指定文件夹下的文件信息。通过使用 QT 的 QFileSystemWatcher 对指定文件夹进…

应该怎样选择最适合的微信管理系统?

许多企业老板面对各种各样的微信管理系统,都不知从何下手,感到非常迷茫。关于如何选择微信管理系统,是需要根据你的需求来决定选择合适的。比方说能把微信号登录到一起就可以,或者说能自动加人,或者定时发圈&#xff0…

计算机设计大赛 深度学习 YOLO 实现车牌识别算法

文章目录 0 前言1 课题介绍2 算法简介2.1网络架构 3 数据准备4 模型训练5 实现效果5.1 图片识别效果5.2视频识别效果 6 部分关键代码7 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于yolov5的深度学习车牌识别系统实现 该项目较…

element-ui button 组件源码分享

element-ui button 源码分享,基于对源码的理解,编写一个简单的 demo,主要分三个模块来分享: 一、button 组件的方法。 1.1 在方法这块,button 组件内部通过暴露 click 方法实现,具体如下: 二、…

用户体验优化:HubSpot的秘密武器

在当今数字化市场中,提升用户体验已经成为企业成功的关键因素之一。HubSpot,作为一款领先的营销自动化工具,不仅在推动销售业绩上表现出色,同时通过其独特的策略也致力于提升用户体验。运营坛将深入探讨HubSpot是如何通过个性化推…

使用gcc/g++查看C语言预处理,编译,汇编,连接,以及动静态库的区分

文章目录 使用gcc/ggcc如何完成编译后生成可执行文件?预处理(进行宏替换)编译(生成汇编)汇编(生成机器可识别代码)连接(生成可执行文件或库文件)最后记忆小技巧 在这里涉及到一个重要的概念&…

阿里云如何找回域名,进行添加或删除?

权威域名管理介绍说明,包含添加域名、删除域名、找回域名、域名分组等操作介绍。 一、添加域名 非阿里云注册域名或子域名如需使用云解析DNS,需要通过添加域名功能,将主域名或子域名添加到云解析控制台,才可以启用域名解析服务。…

关于bypassuac的探究——bypass的实现

经过前面的探究过后,我们整理下思路,首先要创建注册表,并添加DelegateExecute这个键值对,并修改command的指向exe路径即可bypassuac,那么这里用到一下几个函数 RegCreateKeyExA 首先是创建注册表项,对应的…

figure方法详解之清除图形内容

figure方法详解之清除图形内容 一 clf():二 clear():三 clear()方法和clf()方法的区别: 前言 Hello 大家好!我是甜美的江。 在数据可视化中,Matplotlib 是一个功能强大且广泛使用的库,它提供了各种方法来创建高质量的图形。在 Mat…

Multisim14.0仿真(四十一)交通信号灯仿真设计

一、功能简介: 1)、采用两片74LS192做减法计数器,实现倒计时功能。 2)、采用DCD数码管显示时间。 3)、采用4个TRAFFIC_LIGHT_SINGLE红绿灯 4)、采用74LS160和74LS138实现对红绿灯的逻辑控制。 5&#xff09…