2468工作室_成都网站开发_网页设计_二次开发_推广服务_二四六八工作室 我们一直坚信只有用心去做才能得到好的作品!
您当前的位置:主页 > 知识分享 >
快乐前端:JavaScript 学习知识点总结(七)
作者: 2468工作室 发布日期:2020-07-13 10:30 查看次数:

1、if else语句:if 语句允许根据特定的条件执行特定的语句。else 语句仅在 if 或 else/if 语句的条件表达式为假的时候执行。语法格式如下:
if(expr)
    statement1  //expr 的值为真,则执行语句 statement1
else
    statement2  //否则,将执行语句 statement2
例如:
var num = parseInt(Math.random() * 99 + 1);
document.write(num);
if (num < 60){
document.write("不及格");
}else{
if (num < 70){
document.write("及格");
}else{
if (num < 85){
document.write("良好");
}else{
document.write("优秀");
}
}
}
 
2、switch case语句:switch 语句专门用来设计多分支条件结构。与 else/if 多分支结构相比,switch 结构更简洁,执行效率更高。语法格式如下:
switch (expr) {
    case value1 :    //匹配expr是否满足value1的条件
        statementList1   //如果满足则执行本语句
        break;
    case value2 :  //如果不满足,则继续匹配是否满足value2的条件
        statementList2
        break;
    ...
    case valuen :
        statementListn
        break;
    default :   //如果以上条件都不满足,则默认执行以下语句
        default statementList
}
例如:
var id = 5;
switch (id) {
    case 1 :
        document.write("普通会员");
        break;  //停止执行,跳出switch
    case 2 :
        document.write("VIP会员");
        break;  //停止执行,跳出switch
    case 3 :
        document.write("管理员");
        break;  //停止执行,跳出switch
    default :  //default可以防止任意位置,如果放在前面,需要在下面执行语句后添加 break 语句,终止 switch 结构
        document.write("游客");
}
 
3、while语句while 语句是最基本的循环结构。语法格式如下:
while (expr)
    statement
例如:
var n = 1;  //声明并初始化循环变量
while(n <= 100){  //循环条件
    n++;  //递增循环变量
    if (n % 2 == 0) document.write(n + "");   //执行循环操作
document.write(" ");  //空格
}
 
4、do/while语句do/while 与 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查,而不是在开始时检查。因此 do/while 循环能够保证至少执行一次循环,而 while 循环就不一定了,如果表达式的值为假,则直接终止循环不进入循环。语法格式如下:
do
    statement
while(expr)
例如:
var n = 1;  //声明并初始化循环变量
do {  //循环条件
    n++;  //递增循环变量
    if (n % 2 == 0) document.write(n + "");  //执行循环操作
document.write(" ");  //空格
} while (n <= 100);
 
5、for 语句for 语句是一种更简洁的循环结构。语法格式如下:
for (expr1;expr2;expr3)
    statement
例如:
for (var i = 2;i < 100;i++) {
var b = true;
for (var j = 2;j < i;j++) {
if (i % j == 0) b = false;  //判断i能否被j整除,能被整除则说明不是素数,修改布尔值为false
}
if (b) document.write(i + "");  //打印素数
document.write(" ");  //空格
}
 
6、for/in语句for/in 语句是 for 语句的一种特殊形式。语法格式如下:
for ( [var] variable in <object | array)  //variable 表示一个变量,可以在其前面附加 var 语句,用来直接声明变量名。in 后面是一个对象或数组类型的表达式。在遍历对象或数组过程中,把或取的每一个值赋值给 variable。
statement
例如:
var a = [1,true,"0",[false],{}];  //声明并初始化数组变量
for (var n in a) {  //遍历数组
    document.write("a["+n+"] = " + a[n] + "<br>");  //显示每个元素及其值
}
 
7、label关键字在 JavaScript 中,使用 label 语句可以为一行语句添加标签,以便在复杂结构中,设置跳转目标。语法格式:label : states
 
8、break语句break 语句能够结束当前 for、for/in、while、do/while 或者 switch语句的执行;同时 break 也可以接受一个可选的标签名,来决定跳出的结构语句。语法格式:break label;
例如:
outloop : for (i in document) {
   switch (i.toString()) {
    case "bgColor" :
      document.write("document." + i + "=" + document[i] + "<br />");
      break outloop;
    default :
      document.write("没有找到");
   }
}
 
9、continue语句continue 语句用在循环结构内,用于跳过本次循环中剩余的代码,并在表达式的值为真时,继续执行下一次循环。它可以接受一个可选的标签名,开决定跳出的循环语句。语法格式:continue label;
例如:
var a = [1,"hi",2,"good","4", ,"",3,4],  //定义并初始化数组a
    b = [], j = 0;  //定义数组b和变量j
for (var i in a) {  //遍历数组a
    if (typeof a[i] == "string")  //如果为字符串,则返回继续下一次循环
        continue;
    b[j ++] = a[i];  //把数字寄存到数组b
}
document.write(b);  //返回1,2,3,4
 
10、异常处理ECMA-262 规范了 7 种错误类型,具体说明如下。其中 Error 是基类,其他 6 种错误类型是子类,都继承 Error 基类。Error 类型的主要用途是自定义错误对象。
Error:普通异常。与 throw 语句和 try/catch 语句一起使用,属性 name 可以读写异常类型,message 属性可以读写详细错误信息。
EvalError:不正确的使用 eval() 方法时抛出。
SyntaxError:出现语法错误时抛出。
RangeError:数字超出合法范围时抛出、
ReferenceError:读取不存在的变量时抛出。
TypeError:值得类型发生错误时抛出。
URIError:URI 编码和解码错误时抛出。
 
11、try/catch/finally语句try/catch/finally 是 JavaScript 异常处理语句。语法格式如下:
try{
    //调试代码块
}
catch(e) {
    //捕获异常,并进行异常处理的代码块
}
finally{
    //后期清理代码块
}
例如:
try {  //外层异常处理结构
    try {  //内层异常处理结构
        test();  //错误调用
    }
    catch(error) {
        if (error.name == "ReferenceError") console.log("错误参考");   //如果是异常引用,则提示这样的信息
        else throw error;  //否则再次抛出一个异常,并把错误信息向上传递
        }
}
catch (error) {  //获取内层异常处理结构中抛出的异常
    console.log("内层 try/catch 不能够处理这个错误");
}
 
12、throw语句throw 语句能够主动抛出异常,语法格式:throw expression;
expression 是任意类型的表达式,一般为 Error 对象,或者 Error 子类示例。
当执行 throw 语句时,程序会立即停止执行。只有当使用 try/catch 语句捕获到被抛出的值时,程序才会执行。
例如:
try {
    for (var i = 0;i < 10;i++) {
        if (i > 5) throw new Error ("循环变量的值大于 5 了");  //定义错误对象,并抛出异常
        console.log(i);
    }
}
catch (error) { }  //捕获错误,其中error就是new Error() 的实例