变量的基本使用
声明变量:
要想使用变量,首先需要创建变量(也称为声明变量或者定义变量)
语法:
let 变量名
声明变量有两部分构成:声明关键字、变量名(标识)
let 即关键字(let: 允许、许可、让、要),所谓关键字是系统提供的专门用来声明(定义)变量的词语
举例:
let age
我们声明了一个age变量
age 即变量的名称,也叫标识符
更新变量:
变量赋值后,还可以通过简单地给它一个不同的值来更新它。
注意: let 不允许多次声明一个变量。
声明多个变量:
变量赋值后,还可以通过简单地给它一个不同的值来更新它,
语法:多个变量中间用逗号隔开。
let age =18,uname ='pink
案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
let age=2
console.log(age)
let name = prompt('请输入名字')
console.log(name)
</script>
</body>
</html>
变量的本质
目标:能够说出变量的本质是什么内存:计算机中存储数据的地方,相当于一个空间
变量本质:是程序在内存中申请的一块用来存放数据的小空间
变量命名规则与规范
目标:能写出符合规范的变量名
规则:必须遵守,不遵守报错(法律层面)
规范:建议,不遵守不会报错,但不符合业内通识(道德层面)
1.规则:
不能用关键字
√ 关键字:有特殊含义的字符,JavaScript内置的一些英语词汇。例如:let、var、if、for等只能用下划线、字母、数字、$组成,且数字不能开头
字母严格区分大小写,如 Age 和 age 是不同的变量
2.规范:
起名要有意义
遵守小驼峰命名法
√第一个单词首字母小写,后面每个单词首字母大写。例:userName
数组的基本使用
目标:能够声明数组并且能够获取里面的数据
1.声明语法
let 数组名 =[数据1,数据2,数据n]
let names = ['小明','小刚','小红','小米']
数组是按顺序保存,所以每个数据都有自己的编号
计算机中的编号从0开始,所以小明的编号为0,小刚编号为1,以此类推
在数组中,数据的编号也叫索引或下标
数组可以存储任意类型的数据
常量的基本使用
概念:使用const声明的变量称为“常量”
使用场景:当某个变量永远不会改变的时候,就可以使用const来声明,而不是let。
命名规范:和变量一致
常量使用:
// 声明一个常量
const G=9.8
//输出这个常量
console.log(6)
注意: 常量不允许重新赋值,声明的时候必须赋值(初始化)小技巧:不需要重新赋值的数据使用const
数据类型
JS 数据类型整体分为两大类:
>基本数据类型
number 数字型 string 字符串型 boolean 布尔型 undefined 未定义型 null 空类型
>引用数据类型
object 对象
数据类型-数字类型(Number)
即我们数学中学习到的数字,可以是整数、小数、正数、负数。
let age=18 //整数
let price = 88.99 // 小数
数据类型字符串类型(string)
通过单引号(")、双引号("")或反引号(`)包裹的数据都叫字符串,单引号和双引号没有本质上的区别,推荐使用单引号。
let uname ='小明’// 使用单引号
let gender ="男”// 使用双引号
Let goods ='小米` // 使用反引号
let tel ='13681113456’ /!看上去是数字,但是引号包裹了就是字符串
let str ='·// 这种情况叫空字符串
1.无论单引号或是双引号必须成对使用
2.单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
3.必要时可以使用转义符\,输出单引号或双引号
模板字符串
语法
// 模板字符串 外面用`里面 ${变量名}
document.write(`我今年${age}岁`)
数据类型-布尔类型(boolean)
表示肯定或否定时在计算机中对应的是布尔类型数据。它有两个固定的值 true 和 false,表示肯定的数据用 true(真),表示否定的数据用 false(假)
// JavaScript 好玩不?
let isCool = true
console.1og(isCool)
数据类型-null(空类型)
JavaScript 中的 null 仅仅是一个代表“无”、“空”或“值未知”的特殊值
null 和 undefined 区别:
undefined 表示没有赋值
null 表示赋值了,但是内容为空
null 开发中的使用场景:
官方解释:把 null作为尚未创建的对象
大白话: 将来有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null
控制台输出语句和检测数据类型
通过 typeof 关键字检测数据类型
typeof 运算符可以返回被检测的数据类型。它支持两种语法形式:
1.作为运算符:typeof x(常用的写法)
2.函数形式:typeof(x)
换言之,有括号和没有括号,得到的结果是一样的,所以我们直接使用运算符的写法。
类型转换
隐式转换
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换规则:
- +号两边只要有一个是字符串,都会把另外一个转成字符串
- 除了+以外的算术运算符 比如-*/等都会把数据转成数字类型
缺点:
转换类型不明确,靠经验才能总结
小技巧:
+号作为正号解析可以转换成数字型
任何数据和字符串相加结果都是字符串
显式转换
编写程序时过度依靠系统内部的隐式转换是不严禁的,因为隐式转换规律并不清晰,大多是靠经验总结的规律。为了避免因隐式转换带来的问题,通常根逻辑需要对数据进行显示转换。
概念:
自己写代码告诉系统该转成什么类型
转换为数字型
Number(数据)
√ 转成数字类型
√ 如果字符串内容里有非数字,转换失败时结果为NaN(NotaNumber)即不是一个数字
√NaN也是number类型的数据,代表非数字
parseInt(数据)
>只保留整数
parseFloat(数据)
可以保留小数