算法结构

任何复杂的算法都由以下三种结构构成:

  1. 顺序结构
  2. 分支结构
  3. 循环结构

顺序结构

顺序结构指的是游览器解析JavaScript代码时,是按照从上到下逐行解析的。
JavaScript是一种弱类型的语言。在JavaScript中,如果某一行代码出现错误,那么接下来的代码都不会去运行。所以在对JavaScript的变成过程中,完成一部分就测试一部分是一个良好的习惯,这样既能保证尽量减少语法错误带来的bug,也能避免过程中就存在的一些逻辑bug,导致需要推翻后面所写的全部代码的问题。
当然,js有一种预编译的机制,在走程序逻辑时需要考虑到。

function fun(){
	console.log(num)// 不会报错,但是会打印undefined
	var num = 10;// 这里的定会提到最前面定义,但是赋值会留在原地
	console.log(num)// 10
}

分支结构

所有的分支结构可以嵌套。

三元表达式

语法:(条件判断语句)? 表达式1 : 表达式2
程序流程:条件判断语句 → 如果判定成功执行表达式1,判定失败则执行表达式2
使用:三元表达式适合于简单的分支结构,执行的语句只有一句,或者是一个值。

var max, a = 1, b = 2;
max = a > b? a : b;// 将大的值赋值给i

if else

语法:if(条件判断语句){语句块1}else{语句块2}
流程:条件判断语句 → 如果判定成功则执行语句块1,失败则执行语句块2
使用:适合于一般的分支语句,如果分支更多,可以添加else if语句。

switch

语法:switch(变量){
case 条件1 : 语句块1;break;
case 条件2 : 语句块1;break;
case 条件3 : 语句块1;break;
……
default : break;
}
流程:将变量与条件对比,执行与变量相同的条件语句块。
使用:根据输入条件来判定执行语句时适合使用switch语句。

循环结构

所有的循环结构都可以嵌套,实现嵌套循环。

for

语法:for( 声明循环变量; 循环条件的判断; 更新循环变量){循环体}
其中循环变量可以省略,在循环开始之前声明,条件判断也可以省略,但是要在循环中添加结束判断,更新循环变量也可以在循环体总进行。
执行流程:声明循环变量 → 循环条件判断 → 如果判定成功执行循环体再更新循环变量,如果判定失败则结束循环。
使用:固定了循环的次数时,使用for循环更加适合

var sum = 0
for(var i = 0; i < 10; i++){
	sum++;
}
console.log(sum)//10

while

语法:while(循环条件判断){循环体}
其中循环条件判断可以省略,需要在循环体中加入循环结束语句。
执行流程:循环条件判断 → 判定成功则执行循环体,判定失败则结束循环。
使用:没有固定循环次数,但是有一个明确的执行条件时,使用while更加适合

var sum = 0
while(sum < 10){
	sum++
}
console.log(sum)//10

do while

语法:do{循环体}while(循环条件判定)
执行流程:执行循环体 → 循环条件判定 → 如果判定成功则执行循环体,判定失败则结束循环
使用:特点是优先执行一次循环体,根据循环体的执行结果来判定是否要执行下一轮循环,符合这种特点的事件处理时,用do while更加适合

var psd = dasfa546561
do{
	var psd1 = prompt('请输入密码')
}while(psd1 === psd)

你可能感兴趣的:(JS核心语法)