js 基础 02天
变量概念
- 可以理解成是计算机储存数据的 “ 容器”. (一个储存数据的盒子)
作用:
- (可以让计算机变得有记忆,用过这些记忆来储存数据)
变量的基本使用
1.创建变量
创建变量的 专业说法 (声明变量 )
- 两部分构成: 声明关键字,变量名(标识)
- let 即是关键字 (let:允许,许可,让,要 ),所谓关键字就是系统提供的专门用力声明 (定义)变量的词。
- 变量名:即变量的名称,也叫标识符
2.变量赋值
- 定义了一个变量后,你就能初始化它(赋值)。在变量名之后跟上一个 = ,然后是数值。
3.更新变量
- 变量赋值后,还可以通过简单地给它一个不同地值来更新它.
- 注意; let 不允许多次声明一个变量
<body>
<script>
// 声明age 变量, 同时在里面放 18 这个数据
let age = 18
//变量里地数值被更改为19
age = 19
// 页面输出的结果为19
document.write(age)
// 下面这个是错误的
// 声明变量
let age1 = 18
// 这里是不允许多次声明一个变量的
let age1 = 19
// 输出会报错
document.write(age)
</script>
</body>
4.变量的使用
代码实现
<script>
// 变量 我的姓名
let username; //创建变量 变量名:(userName)
username = '大聪明'; // 变量赋值
console.log(username); //变量的使用
// 变量 我的身高
let height; // 创建变量
height = '199999mm' ; // 变量赋值
console.log(height); // 变量的使用
//变量 我的体制
let weight; //创建变量
weight = '300'; //变量赋值
console.log(weight); // 变量的使用
</script>
</body>
变量的本质
- 内存:计算机中存储数据的地方,相当于一个空间
- 变量:是程序在内存中申请一块永安里存放数据的小空间
变量命名规则与规范
规则
- 必须遵守规则,不然会报错
- 不能用关键字 关键字:有特殊含义的字符,JavaScript 内置的一些英语词汇。如;let 、var、if、for等
- 只能用下划线、字母、数字、$组成、且数字不能开头
- 字母严格 区分大小 如 Age 和 age 是不同的变量
规范
- 起名要有意义 (见名知意)
- 用小驼峰命名法:第一个单词首字母小写,后面每个单词首字母大写。如:userName
js 整体两大 数据类型

基本数据类型
数字类型(number)
- js 中的正数、负数、小数等统一为 数字类型
- 注意事项!
字符串型(string)
- 通过单引号(' ')、双引号(" ")或反引号 ( ` ) 包裹的数据都叫字符串,单双引号没有本质上的区别,推荐是用单引号。
字符串拼接:
<script>
document.write('我叫' + '大聪明') // 我叫大聪明
let uname = '大聪明'
let song = '发量惊人'
document.write(uname + song ) // 大聪明发量惊人
</script>
-
模板字符串
-
拼接字符串和变量
-
在没有它之前,要拼接变量比较麻烦
-
<script> document.write('我的姓名是' + userName + '我的年龄是' + 'age') </script>
-
-
符号
- ``
- 输引文下的反引号
- 内容拼接变量时,用${ }包住变量
<script> // 1 用户名 let userName = prompt('您的姓名'); // 2 年龄 let age = prompt('你的年龄'); // 3 输出 document.write(`我的姓名是${userName}, 我的年龄是${age}`) </script>
布尔型 (boolean)
-
表示肯定或否定时在计算机中对应的是布尔类型数据
-
<script> // boolean 布尔 只有两种值 真 true 假 false // 你吃饭了吗 let isEat = true; //你睡觉了没有 let isSleep = false; </script>
未定义型 (undefined)
-
未定义是比较特殊的类型,只有一个值 undefined。
-
只声明变量,不赋值的情况下,变量的默认值为undefined,一般很少 [ 直接] 为某个变量赋值为 undefined。
-
<script> let age // 声明变量但是未赋值 document.write(age) // 输出 undefined </script> -
工作中的使用场景:
我们开发中经常声明一个变量,等待传送过来的数据。
如果我们不知道这个数据是否传递过来, 此时我们可以通过检测这个变量是不是 undefined ,就判断用户是否有数据传递过来。
空类型 ( null )
1.null 表示 值 为空的
<script>
let odj = null
</script>
2.nil 和 undefined 区别:
1. undefined 表示没有赋值
2. null 表示赋值了,但是内容为空的
3.null 开发中的使用场景
- 官方解释:把 null 作为尚未创建的对象
- 大白话:将来有个变量里面存放的是一个对象, 但是对象还没创建好, 可以先给一个 null
typeof 检测数据类型
<script>
let num = 1;
let userName = '翠花';
let isRain = true;
let foods;
let money = null; // 后面继续讲解到 引用类型的时候区补充
// console.log ("num是什么数据类型"); 能不能通过过程的方式 自动的输出当前变量的数据类型!!
// typeof
console.log(typeof num); // number 输出 num 变量的类型
console.log(typeof userName); // string
console.log(typeof isRain); // boolean
console.log(typeof foods); // undefined
console.log(typeof money); // odject 对象类型
</script>
类型转换
为什么需要类型转换
-
js 是弱数据类型: js 也不知道变量到底属于哪还种数据类型, 只有赋值了才清楚。
-
坑:使用表单、prompt 获取过来的数据默认是字符串类型的, 此时就不能直接简单的进行加法运算。
-
<script> console.log('100' + '200') //输出结果为100200 </script>
此时需要转换变量的数据类型。
通俗来说,就是 把一种数据类型的变量转换成我们需要的数据类型。
隐式转行
某些运算符被执行时,系统内部自动将数据类型进行转换,这种转换称为隐式转换。
- 规则:
- +号 两边只要有一个是字符串,都会把另一个转成字符串
- 除了 + 以外 的算术运算符 比如 - * / 都会把数据转成数字类型
- 缺点:
- 转换类型不明确, 靠经验才能总结
- 小技巧:
- +号作为正号解析可以喜欢换成 Number
<body>
<script>
let num1 = 1;
let num2 = '2';
let num3 = num2 - 0; // num3 是一个数字类型
console.log(typeof num3);
// 最简洁的写法 没有为什么 js 内部就有这样的技巧 知道会用即可
let num4 = +num2; // 也是可以的!
console.log(typeof num4);
</script>
</body>
显示转换
- 概念:自己写代码告诉系统改转换成什么类型
- 转换数字类型
- Number(数据)
- 转成数字类型
- 如果字符串内容里有非数字,转换失败结果为 NaN ( Not a Number) 即不是一个数字
- NaN 也是 number 类型的数据,代表非数字
- pqrseInt ( 数据)
- 只保留整数
- parseFloat (数据)
- 可以保留小数
- 转换为字符型
- String(数据)
- 变量. toString (进制)
- Number(数据)
<body>
<script>
// 你把一个真正的 字符串 给我 转成数字, 会失败!!
// let num1 = 'abcd';
// 显示转换 转成 数字类型
// let num2 = Number(num1);
// console.log(num2); // NaN num2 不是一个数字 类似 确实 unmber类型
// 对于 其他类型 转成数字
// 1 成功 数字本身
// 2 失败 NaN ( not a number )
// let num1 = 'aaa';
// let num2 = +num1;
// console.log(num2); // NaN
// let num1 = '9.9';
// 取整数 9 integer
// let num2 = parseInt(9.9); //常用
// console.log(num2);
// console.log(Number(Number(Number(num1))));
let num1 = 123;
// 把 num1 转成 字符串
// let str = 123 + ''; // 隐式转换 常用
// let str = String(num1); // 显示转换 常用
// console.log(typeof str);
let str = num1.toString(); // 显示转换 常用
console.log(typeof str);
</script>
</body>