day2
变量
变量 是计算机储存数据的容器。他可以让计算机变得有记忆。
注意: 变量不是数据本身,它们仅仅是一个用于存储数值的容器。可以理解为是一个个用来装东西的纸箱子。
声明变量
1 想要使用变量, 首先需要创建变量(专业说法 :声明变量)
2.语法:
let 变量名
注意:声明变量有两部分构成:声明关键字 ,变量名;
let即是关键字(let:允许,许可, 让, 要)所谓关键字是系统提供的专门用来声明(定义)变量的词语。
示例:
let name
name 就是变量的名称,也叫标识符;
变量赋值
定义一个变量之后,他就能够初始化它(赋值)。在变量名之后跟上一个= "",引号里面写数值;
注意:是通过变量名来获得变量里面的数据。
结合写法:
<body>
<script>
// 变量 我的姓名
let username; // 创建变量
username = "文文"; //变量赋值
console.log(username); //变量的使用
// 变量可以定义多个 我的身高
let height;
height = "180";
console.log(height);
// 变量 我的体重
let weight;
weight = "125" ;
console.log(weight);
</script>
</body>
声明变量同时赋值及变量更新
// 声明变量的同时 也赋值 很常用 如:
let color = "pink";
// 声明更新: 注意更新声明不需要加let 否则会出现错误
color = "skyblue";
多个变量
一次性声明多个变量 同时赋值,换行的话用逗号隔开
// 一次性声明多个变量 同时赋值,换行的话用逗号隔开
let name ="张三",
number = 20;
console.log(name + number)
交换变量的值
多创建一个变量,来存放临时的数据 即可。
如:
<script>
let number1 = 20,number2 =10;
// 多创建一个变量,来存放临时的数据 即可
temp = number1;
number1 = number2 ;
number2 = temp;
// 分别输出在控制台
console.log(number1);
console.log(number2);
</script>
</body>
变量的本质
变量的规则和规范
规则:
-
变量名 不能使用已经有的关键字,如let,var ,if , for;
-
变量名 只能用下划线,字母,数字,$组成,且数字不能开头。
-
字母严格区分大小写,如Age和age是不同的变量。
规范:
-
命名要有意义;
-
遵守小驼峰命名法:
第一个单词首字母小写,后面每个单词首字母大写。如:userName 。
数据类型
数据类型有哪些?
两大类:基本数据类型 和 引用数据类型。
基本数据类型
数字类型
数字类型 外边不能加单双引号。
字符串类型
通过单引号'' 和双引号"" 或者反引号` 包裹的就是字符串类型。
以上两种类型使用 加号+ 功能 不一样;
数字类型使用 + 表示数字相加;
let number1 = 100,number2 = 200;
console.log(number1 + number2);
控制台显示:300 ;
字符串类型使用加号 + 表示两段文字拼接。
let name = "文文",like = "打篮球";
console.log(name + like);
控制台显示:文文打篮球。
字符串拼接
// 早些时候 写代码 都是这样来拼接的 看起来不太直观
let every = '大家好';
let age=100;
console.log('你好-' + every + '-世界美好');
console.log('你好' + '-' + every + '-' + '世界美好');
现在使用反引号和 ${}
<script>
let name = prompt("请输入你的姓名");
let age = prompt("请输入你的年龄");
// 使用 反引号``的方式来拼接 字符串 推荐!!
// 反引号和 ${} 两个是一对 要配套出现
document.write(`大家好,我叫${name},今年${age}岁了`)
</script>
布尔类型
boolean 布尔 只有两种值 : 真true 假false ;
<script>
/*
boolean 布尔 只有两种值 真 true 假 false
*/
// 你吃饭了吗
let isEat = true;
// 你睡觉了没有
let isSleep = false;
// 有什么用 ? 还没有学习到 条件语句 暂时 感觉不到它的作用
</script>
未定义类型
未定义类型 是比较特殊的类型。只要一个值 undefined 。
是 空箱子 空变量的意思。
当我们发现这个数据是undefined 是提醒我们是不是忘记给某个变量赋值。 矫正我们写代码。
<script>
// 未定义
// 空箱子 空变量
let age;
console.log("age")
// 当我们发现这个数据是undefined 是提醒我们是不是忘记给某个变量赋值。 矫正我们写代码
// 他会提醒我们undefined,但不会报错,也不会继续编写下面的代码
</script>
undefined转换成布尔类型,其实是个false。
null类型
undefined 表示没有赋值 ;
null 表示赋值了,但是里面内容为空
<script>
// undefined 表示没有赋值
// null 表示赋值了,但是里面内容为空
let age = null;
console.log(age);
// 对于我们初学者来说
// 只要发现这个变量是undefined 或者null的话,是暂时还没拿到合适的值即可
</script>
null转换成布尔类型,其实是个false。
检测数据类型
通过 typeof 检测 该变量是什么类型。
<script>
let num = 15;
let name ="文文";
let isRain = true;
let like ;
let foods = null;
// 通过typeof获取检测变量的数据类型
console.log(typeof num) //数字类型 number
console.log(typeof name) //字符串类型 string
console.log(typeof isRain) //布尔类型 boolean
console.log(typeof like) //未定义类型 undefined
console.log(typeof null) //对象 object
</script>
控制台显示:
类型转换
隐式转换
规则:
除了+ 加号以外的算术运算符 ,比如- * / 等都会把数据转成数字类型
<script>
let num2 = "2"
// 正常字符串和数字类型相加,会拼接,都变成字符串
//但是 隐式转换,除了+ 加号以外的算术运算符 ,比如- * / 等都会把数据转成数字类型
let num3 = num2 - 0;
console.log(typeof num3)
// 最简洁的写法
let num4 = +num2;// 这样写也可以
console.log(typeof num4)
</script>
显示转换
转换成数字类型
转换成数字类型:Number() ;
注意:但是如果是一个真正的字符串,如let num1 ="abc"; 去转换为数字类型的话会显示NaN,转换失败。
需要转换本身就是数字的才能成功。
转换成整数:parseInt() ;
转换后有带小数点的:
-
parseFloat() ;不常用
-
直接+
示例:let num5 = +num3;
-
<script>
let num1 ="123";
// 显示转换,转为数字类型
let num2 = Number(num1)
console.log(typeof num2)
// 但是如果是一个真正的字符串,如let num1 ="abc"; 去转换为数字类型的话会显示NaN,转换失败。
// 需要转换本身就是数字的才能成功
// 转换成整数的,
let num4 = parseInt(9.9); //常用
console.log(num4)
let num3 = "9.9";
// 转换带小数点的
// let num5 = parseFloat(num3) 不常用
let num5 = +num3; // 常用
console.log(num5)
</script>
转换成字符串类型
转换成字符串类型:
string();
tostring()
<script>
// 数字类型转换字符串
let age1 = 20;
// 隐式转换 常用
let age3 = 20 + ""
console.log(typeof age3)
// 显示转换 string()
// 把age1 转换成字符串类
let age2 = String(age1);
console.log(typeof age2)
// 显示转换 tostring()
let age4 = age1.toString();
console.log(typeof age4)
</script>
转换成布尔类型
document.write补充
- document.write 都可以把一个 标签形式的字符串 重新插入内容里。
- 写标签字符串的时候,想要换行,可以用反引号包裹.
- 不要在字符串里 一个一个写标签,在body写生成标签再复制粘贴过去。
<script>
// 1. document.write 都可以把一个 标签形式的字符串 重新插入内容里。
document.write("<button>我是个按钮</button>")
// 2. 写标签字符串的时候,想要换行,可以用反引号包裹
// 3. 不要在字符串里 一个一个写标签,在body写生成标签再复制粘贴过去。
document.write(`<div>
<p><button>还是一个按钮</button></p>
</div>`)
</script>