流程控制:在一个程序执行的过程中,各条代码的执行顺序对程序的结果是有直接影响的,很多时候我们要通过控制代码的执行顺序来实现我们要完成的功能 ,简单理解:流程控制就是来控制我们的代码按照什么结构顺序来执行。有顺序结构,分支结构,循环结构
switch与if else if的区别
1,一般情况下,他们两个语句可以相互替换
2,switch…case语句通常处理case为比较确定值的情况,而if…else语句更加灵活,常用于范围判断(大于,等于某个范围)
3,switch语句进行条件判断后直接执行到程序的条件语句,效率更高,而if…else语句有几种条件,就得判断多少次
4,当分支比较少时,if…else语句的执行效率比switch语句高
5,当分支比较多时,switch语句的执行效率比较高,而且结构更清晰
九九乘法表
var str = ‘’;
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
str += j + ‘*’ + i + ‘=’ + j * i + ‘\t\t’
} str += ‘\n’
} console.log(str);
break continue return 的区别
return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码
continue退出本次循环,继续下一次循环(如(for ,while))
break用于退出整个循环(结束当前的循环体如(for,while))
arguments的使用
当我们不确定有多少个参数传递的时候,可以用arguments来获取,在js中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参
arguments展示的形式是一个伪数组,因此可以进行遍历。
伪数组有以下特点:
1,具有length属性
2, 按索引方式存储数据
3,不具有数组的push,pop等方法
只有函数才有arguments对象,而且每个函数都内置好了这个arguments
js的作用域
概述:通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突(就是代码名字变量在某个范围内起的作用和效果,目的是为了提高程序的可靠性 减少命名冲突)
全局作用域:整个script标签,或者是一个单独的js文件
局部作用域:在函数内部就是局部作用域 这个代码的名字只在函数内部起效果和作用
变量的作用域:根据作用域的不同我们把变量分为全局变量与局部变量
全局变量:在全局作用域下的变量,在全局下都可以使用
注意:如果在函数内部没有声明直接赋值的变量也属于全局变量
局部变量:在局部作用域下的变量,后者在函数内部的变量就是局部变量
注意:函数的形参也可以看做是局部变量
全局变量与局部变量的区别
全局变量只有浏览器关闭的时候才会销毁,比较占内存资源
局部变量:当程序执行完毕就会销毁,比较节约内存资源
js没有块级作用域
作用域链
只要是代码,就至少有一个作用域
写在函数内部的叫局部作用域
如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域
根据在内部函数可以访问外部函数变量的这种机制,用链式查找决定哪些数据能被内部函数访问,就称作作用域链
js流程控制-分支
最新推荐文章于 2022-07-15 14:15:30 发布