作用域
概念:一个变量的可用范围
全局的变量
局部的变量
作用域:
全局的作用域:直接放在全局的作用域中的变量,只希望所有的作用域能够共有的变量就声明在全局的作用域
局部的作用域:声明在函数内部的变量或者方法的参数变量
只要在方法内部声明的变量就是局部的变量
全局变量和局部变量的生命周期
全局变量的生命周期,全局变量在打开网页的时候就创建了,关闭网页的时候就销毁
局部变量的生命周期,方法调用的时候创建,方法调用完之后销毁。
全局变量都属于window下面的属性
window对象:是整个网页的全局的作用域,再打开网页的时候就已经自动的创建好了
作用域链
先从自身出发,看看有没有变量,如果有就不会沿着作用域链往上找,否则沿着作用域往上去寻找,直到找到。
js中的值传递
将一个变量的值赋值给另外一个变量,就是将变量种的值复制给新的变量
js中的一切赋值都是值传递,原来的变量的值不会发生改变
需求:有三个变量,定义一个方法,求三个变量的最大值?
函数的递归
递归调用/嵌套调用:在函数内部调用自己(自己调用自己)
分支结构
语法:if(逻辑表达式){
//逻辑表达式正确就执行这里的代码
}else if(){
}else{
}
switch-case语句
多条分支语句,根据条件判断,选择执行,在条件比较多的时候用来代替if else语句。
语法:
switch(表达式){
case表达式1:(当表达式==表达式1的时候)执行的代码块
break;
case表达式2:(当表达式==表达式2的时候)执行的代码块
break;
case表达式3:(当表达式==表达式3的时候)执行的代码块
break;
....
default:默认代码块(如果上述所有条件都不满足就执行这里的代码块)
break:表示退出当前结构的意思。
}
面试题:if...else语句和switch...case语句的区别?
switch...case如果加了break,