JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)(二)

简介: JavaScript基础(第一部分 -- 简介、注释、输入输出、变量、数据类型、运算符、流程控制)(二)

4.2 变量的使用

变量在使用时分为两步: 1. 声明变量 2. 赋值

4.2.1 声明变量

使用关键字 var 声明一个变量

使用该关键字声明变量后,计算机会自动为变量分配内存空间

var age

4.2.2 赋值

使用 = 将右边的值赋给左边的变量

age = 11

4.2.3 声明变量的同时初始化变量

var age = 11

4.2.4 更新变量

一个变量被重新复赋值后,它原有的值就会被覆盖,变量值将以最后一次赋的值为准。

<body>
  <script>
    var age = 11
    age = 18
    alert(age)
  </script>
</body>

4.2.5 同时声明多个变量

同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。

<script>
    var age = 12, username = 'zs'
    console.log(age, username)
  </script

4.2.6 声明变量特殊情况

只声明 不赋值:

var age
    console.log(age)

没有赋值,变量未定义

不声明 不赋值 直接使用:

console.log(Password)

不声明 只赋值:

pwd = 11;
    console.log(pwd)

可以不声明,赋值直接使用(不推荐)

4.3 变量命名规范

  • 由字母(A-Za-z)、数字(0-9)、下划线(_)、美元符号( $ )组成,如:usrAge, num01, _name
  • 严格区分大小写。var app; 和 var App; 是两个变量
  • 不能 以数字开头。 18age 是错误的
  • 不能 是关键字、保留字。例如:var、for、while
  • 变量名必须有意义。 使用可以看变量名就知道其意义的,如 age
  • 遵守驼峰命名法。首字母小写,后面单词的首字母需要大写。 myFirstName

4.3.1 标识符、关键字、保留字

标识(zhi)符:

就是指开发人员为变量、属性、函数、参数取的名字。标识符不能是关键字或保留字。

关键字:

是指 JS本身已经使用了的字,不能再用它们充当变量名、方法名。

包括:

break、case、catch、continue、default、delete、do、else、finally、for、function、if、in、instanceof、new、return、switch、this、throw、try、typeof、var、void、while、with 等。

保留字:

实际上就是预留的“关键字”,意思是现在虽然还不是关键字,但是未来可能会成为关键字,同样不能使用它们当变量名或方法名。

包括:

boolean、byte、char、class、const、debugger、double、enum、export、extends、fimal、float、goto、implements、import、int、interface、long、mative、package、private、protected、public、short、static、super、synchronized、throws、transient、

volatile 等

注意:

如果将保留字用作变量名或函数名,那么除非将来的浏览器实现了该保留字,否则很可能收不到任何错误消息。当浏览器将其实现后,该单词将被看做关键字,如此将出现关键字错误。

var function = 123
• 1

var int = 123
    console.log(int)

保留字目前可以使用,但是未来变为关键字会报错,不建议使用保留字为标识符。

4.3.2 小测试

以下哪些是合法的变量名?

4.4 练习 – 交换两个变量的值

有两个变量 a b,要求将两个变量中的值进行交换。

交换两个变量的值就好比两户人家搬家搬到对方的家中,肯定要有其中一户人家暂时搬到酒店暂时居住,等另一户人家完成搬家,在搬到那户人家中,如此即可完成变量值的交换。

<script>
    var a = 12
    var b = 24
    var t = a // 中间临时变量,暂存a的值
    a = b // b的值赋给a
    b = t // 原先暂存在t中的值赋给b,即完成变量值的交换
    console.log(a)
    console.log(b)
  </script>

5. 数据类型

5.1 数据类型简介

在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。(比如,用合适的盒子装合适大小的物品,不浪费空间)

变量是用来存储值的所在处,它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。

JavaScript 是一种弱类型或者说动态语言.

这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定 。在代码运行时,变量的数据类型是由 JS引擎 根据 = 右边变量值的数据类型来判断 的,运行完毕之后, 变量就确定了数据类型。

JavaScript 拥有动态类型,同时也意味着相同的变量可用作不同的类型,即变量的数据类型是可以更改的。 如,在程序的运行过程中变量的数据类型可以由原来的数字类型转变为字符串或其他类型的数据。

JS 把数据类型分为两类:

  • 简单数据类型 :
    Number – 数字型
    String – 字符串型
    Boolean – 布尔型
    Undefined – 未定义
    Null – 空
  • 复杂数据类型:
    object – 对象类型

5.2 简单数据类型(基本数据类型)

简单数据类型 说明 默认值
Number 数字型,包含整型值(12)和浮点型值(3.1415) 0
Boolean 布尔值类型,如true . false,等价于1和0 false
string 字符串类型,如"张三”注意咱们js里面,字符串都带引号 “”
Undefined var a;声明了变量a但是没有给值,此时a = undefined undefined
Null var a = null;声明了变量a为空值 null

5.2.1 数字型 Number

JavaScript 数字类型既可以用来保存整数值,也可以保存小数(浮点数)。

<script>
    var intNumber = 12
    var floatNumber = 3.1415926
    console.log(intNumber)
    console.log(floatNumber)
  </script>

5.2.1.1 进制

最常见的进制有二进制、八进制、十进制、十六进制。

在JS中八进制前面加0,十六进制前面加 0x。

八进制:

数字只有 0-7

// 八进制(逢8进1,好比十进制逢10进1)
    // 八进制表示的数字    0 1 2 3 4 5 6 7 10 11 12 ...
    // 对应的十进制数      0 1 2 3 4 5 6 7 8  9  10 ...
    var eight = 07
    console.log(eight)
    eight = 012
    console.log(eight)

十六进制:

逢16进1

数字:

1 2 3 4 5 6 7 8 9 a b c d e f 10 11
对应十进制 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
var sixteen = 0xf
    console.log(sixteen)
    sixteen = 0x10
    console.log(sixteen)
    sixteen = 0x12
    console.log(sixteen)

5.2.1.2 JavaScript中数值的最大和最小值

// 最大值
    console.log(Number.MAX_VALUE)
    // 最小值
    console.log(Number.MIN_VALUE)

5.2.1.3 数字型三个特殊值

// 无穷大
    console.log(Infinity)
    // 负无穷大
    // 无穷小在数学中定义为无限趋近与0的数(极限为0)
    console.log(Infinity)
    // 不是一个数字
    // NaN Not a Number
    console.log(12 - 'hello') // 数字不能减去字符串,结果为非数字


相关文章
|
11天前
|
前端开发 测试技术
测Nuxt.js入坑,配置dev、test、pro三种环境的变量env
先下载一个cross-env模块,比较好控制环境
28 5
|
2天前
|
XML JavaScript 前端开发
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
7 2
|
2天前
|
JavaScript 前端开发 Java
javascript是弱类型语言,一个函数参数可以接收不同类型的变量作为它的该参数
javascript是弱类型语言,一个函数参数可以接收不同类型的变量作为它的该参数
10 0
|
9天前
|
存储 前端开发 JavaScript
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
|
10天前
|
JavaScript 前端开发
JavaScript 作用域详解:如何影响变量生命周期
JavaScript 作用域详解:如何影响变量生命周期
|
11天前
|
JavaScript 前端开发
JavaScript闭包允许内部函数访问并保留外部函数的变量,即使外部函数执行结束
【5月更文挑战第13天】JavaScript闭包允许内部函数访问并保留外部函数的变量,即使外部函数执行结束。在游戏开发中,闭包常用于创建独立状态的角色实例。例如,`createCharacter`函数生成角色,内部函数(如`getHealth`、`setHealth`)形成闭包,保存角色的属性(如生命值)。这样,每个角色实例都有自己的变量副本,不互相影响,从而实现角色系统的独立性。
21 0
|
11天前
|
存储 JavaScript 前端开发
js的变量以及运算
js的变量以及运算
14 1
|
1天前
|
JavaScript 前端开发 Java
前端知识点03(JS)
前端知识点概览:了解JS中的this指向,包括全局、函数、new、apply/call/bind及箭头函数的规则。理解script的async和defer属性对脚本加载和执行的影响。探讨setTimeout和setInterval的用法及其在性能上的考量。ES6与ES5的区别在于新语法特性,如let/const、箭头函数、模板字符串、模块化、类和继承等。此外,ES6还引入了Symbol、解构赋值、默认参数、Map/Set和Generator等功能。别忘了点赞和支持作者哦!
8 1
|
1天前
|
JavaScript 前端开发
前端面试02(JS)
本文是前端面试系列的第二篇,主要涵盖了JavaScript的基础知识,包括JS的组成(ECMAScript、DOM、BOM)、内置对象(如String、Array、Math、Date等)、数组操作方法、数据类型检测方法(typeof、instanceof、constructor、Object.prototype.toString.call)、闭包的概念及其特点、前端内存泄漏的原因和类型、事件委托的优势、基本数据类型与引用数据类型的差异、原型链的工作原理以及JS实现继承的多种方式(原型链、构造函数、组合继承等)。文章结尾鼓励读者点赞和支持作者。
7 1
|
2天前
|
JavaScript 前端开发 NoSQL
构建基于Node.js的全栈应用:从前端到后端的完整指南
【5月更文挑战第24天】本文是关于使用Node.js构建全栈应用的指南,涵盖前端(React或Vue)、后端(Node.js + Express)和数据库(MongoDB)的选型与实现。文章介绍了项目结构、前端组件化开发、后端API接口编写、前后端联调及部署上线的注意事项,帮助读者掌握全栈开发流程。