Day01
主要复习内容有
- 基本语法
- 流程控制
- 函数
- 类和对象
- 数组
- 字符串和数值处理
- 正则表达式
- 事件处理
- DOM对象
- BOM对象
- 表单元素
基本语法
- 执行顺序:顺序执行,浏览器顺序加载
- 严格区分大小写
- 语句的末尾;可有可无
- 常量 const 常量名 = 常量值
- 变量:
- 全局变量:函数体外部定义的变量(var 变量名)
- 局部变量:函数体内或语句块内定义的变量(let 变量名)
- 数据类型
- 数字型Number,整数,浮点数
- 字符串String,单引号/双引号
- 布尔型Bool,true/false
- 特殊类型:null,undefined,NaN
- 运算符
- 算数运算符:%、++、–
- 比较运算符,关系运算符>,<,<=,>=,= == === !=
- 赋值运算符,符合赋值运算符 i+=1
- 逻辑运算符,&&,||,!
- 条件运算符 ?:
- 其他运算符:位运算符,逗号运算符
- 运算符的优先级:单目 > 双目 > 算数运算 >逻辑运算 >赋值运算
流程控制
顺序结构:
按语句的先后顺序,依次执行
选择结构:
根据条件,选择不同的语句执行
- if语句
- switch-case语句
- 条件表达式
循环结构:
- while循环(也称为“当”型循环,当条件为真时,执行循环)
- do-while循环(也称为”直到型循环“)
- for循环
- foreach循环,用于遍历集合或数组
- break:终止循环
- continue:结束本次循环
函数
是实现某个特定功能的代码块
定义:
function 函数名(形参1,形参2,...){
函数体语句
}
调用:
简单调用:
函数名(实参1,实参2,...)
在事件响应中调用,
事件名 = 函数名(实参)
在超链接中调用
<a href="javascript :函数名(实参)">
参数:
函数的参数,可有可无
形参:形式参数,在函数定义时出现在函数首部的参数(占位符,没有实际含义)
实参:实际参数,在函数调用时出现在函数首部的参数(实在数据)
传递方式:实参向形参传递数据。
返回值:
函数可以有返回值,也可以没有,如果有的话,通过return返回。
嵌套函数:
在函数的内部再定义一个函数
function outName(param1,param2){
//外部函数
function InnerAdd(param1,param2){
//内部函数
alert("Hello")
}
}
递归函数:
函数自己调用自己
递归函数解决问题的前提条件:
- 问题可以分解,分解得到的新问题和老问题的解法是一样的
- 递归必须有明确的结束条件
- 例如用递归计算n的阶乘
递归步骤:
1.自上而下分解问题
2.自上而下回溯分解问题的解
function fun(n){
if(n==0 || n==1){
//递归结束的条件
return 1;
}
else{
//递归调用,递归调用的过程,实际上就是问题分解的过程
return fun(n-1)*n;
}
}
内置函数:
JS定义好的函数,用户调用即可
- parseInt:将数字字符转换成整数
- parseFloat:将数字类型字符转换为浮点数
- encodeURI:将字符串转换为有效的URI地址
- decodeURI:将encodeURI编码的文本进行解码
- isNaN:判断一个数值是否是NaN
- eval:计算字符串中表达式的值