Web前端开发学习日记7
今天来学习一下JavaScript中的变量,数据类型,运算等知识,这些知识跟大学时期学到C,C++类似,这里就进行简述。
变量
通过var来声明变量,格式为var 变量名=值
1 | var x=5;//=右边的保存给左边的变量 |
变量名有以下规定:
- 不能使用JS的关键字和保留关键字
- 由字母、数字、下划线以及$组成
- 不能以数字开头
- 尽量见名知意
- 可以采用驼峰命名法,stuName
数据类型
数据类型分类:
- 基本类型:
number数字类型
string字符串类型,所有类型和string做加法,结果都为string类型
boolean布尔类型
null空类型
undefined未定义类型 - 引用类型
数据类型强制转换
1 | typeof(num);//获取num的数据类型 |
运算符和表达式
运算符是能够完成数据计算的符号。
表达式是由运算符和操作数所组成的式子。
运算符有以下几种类型:
- 算术运算符:加+,减-,乘*,除/,取余%,自增++,自减–
- 关系运算符:大于>,小于<,大于等于>=,小于等于<=,不等于!=,等于==,全等===,不全等!==
- 逻辑运算符:逻辑&&,逻辑或||,逻辑非!
- 条件运算符:表达式1?表达式2:表达式3
(若表达式1为true,执行表达式2的操作;若表达式1为false,则执行表达式3的操作)
函数
函数是一段预定好的,并且可以反复使用的代码块。
1 | function 函数名(){ |
函数处理以上不带参数外,也可以设置带有参数的函数。
1 | function printInfo(userName,userPwd){ |
还可以设置带有返回值的函数。
1 | function add(num1,num2){//形参 |
在函数中最重要的就是要弄清楚变量和变量的作用域。
- 作用域可以分为全局作用域和函数作用域。
- 函数作用域中的变量只在当前函数内可以访问。
- 全局作用域中的变量在代码任何位置都可以访问。
分支结构
if-结构
- 当条件满足时,运行某些语句
- 当条件不满足时,则不运行这些语句
1
2
3if(条件表达式){
语句块;
}
if-else结构
- 当条件满足时,运行某些语句
- 当条件不满足时,运行另外一些语句
1
2
3
4
5
6if(条件表达式){
语句块1;
}
else{
语句块2;
}
else-if结构,多重if结构
1 | if(条件表达式1){ |
switch-case结构,优先用于等值判断的条件中
1 | switch(表达式){ |
我们用分支结构来写一个收银台小程序,消费金额大于500享受8折优惠。
1 | var price,count,money;//输入变量:单价,数量,收款金额 |
循环结构
反复一遍又一遍做着相同或者相似的事情。
循环两大要素:循环条件,循环操作。
while循环(先判断,后执行)
1 | while(boolean表达式){ |
do-while循环,需要先执行一遍循环操作。(先执行,后判断)
1 | do{ |
for循环,一般用于实现固定次数的循环
1 | for(表达式1;表达式2;表达式3){ |
- 计算表达式1的值
- 计算表达式2的值,如果为true则执行循环
- 执行循环体
- 执行表达式3
- 计算表达式2,如此循环,直到表达式2的值为false,退出循环
我们利用循环语句来完成一个猜数字小游戏
1 | var r=parseInt(Math.random()*100);//生成一个100以内随机数 |
数组、数组函数
创建数组(索引数组)
1 | var arr1=[];//创建空数组 |
通过下标来访问数组中的内容,从0开始,连续不重复,最大到数组.length-1
1 | var a=[1,2,3];//下标0,1,2 |
数组遍历
1 | var a=[1,2,3]; |
关联数组,可自定义下标名称的数组。
1 | var bookInfo=[]; |
数组函数
1 | String(arr);//将数组每个元素转换为字符串,并用,隔开 |