javascript基础学习系列二十八:with语句

with 语句的用途是将代码作用域设置为特定的对象,其语法是:

    with (expression) statement;

使用 with 语句的主要场景是针对一个对象反复操作,这时候将代码作用域设置为该对象能提供便 利,如下面的例子所示:

   let qs = location.search.substring(1);
    let hostName = location.hostname;
    let url = location.href;

上面代码中的每一行都用到了 location 对象。如果使用 with 语句,就可以少写一些代码:

   with(location) {
    
    
      let qs = search.substring(1);
      let hostName = hostname;
      let url = href;
}

这里,with 语句用于连接 location 对象。这意味着在这个语句内部,每个变量首先会被认为是 一个局部变量。如果没有找到该局部变量,则会搜索 location 对象,看它是否有一个同名的属性。如 果有,则该变量会被求值为 location 对象的属性。

严格模式不允许使用 with 语句,否则会抛出错误。

1. switch语句:

switch 语句是与 if 语句紧密相关的一种流控制语句,从其他语言借鉴而来。ECMAScript 中 switch 语句跟 C 语言中 switch 语句的语法非常相似。

这里的每个 case(条件/分支)相当于:“如果表达式等于后面的值,则执行下面的语句。”break 4 关键字会导致代码执行跳出 switch 语句。如果没有 break,则代码会继续匹配下一个条件。

default关键字用于在任何条件都没有满足时指定默认执行的语句(相当于 else 语句)。

有了 switch 语句,开发者就用不着写类似这样的代码了:

if (i == 25) {
    
    
      console.log("25");
    } else if (i == 35) {
    
    
      console.log("35");
    } else if (i == 45) {
    
    
      console.log("45");
    } else {
    
    
      console.log("Other");
}

为避免不必要的条件判断,最好给每个条件后面都加上 break 语句。如果确实需要连续匹配几个 条件,那么推荐写个注释表明是故意忽略了 break。

猜你喜欢

转载自blog.csdn.net/wanmeijuhao/article/details/135464954