流程控制语句switch,with语句

swith

switch的兄弟语句的if语句,根据传入的参数进行流程控制,参数可以是字符串或者其它不是常量的值

举例

switch(str){

case "hello":

       console.log("hello");

      break;//跳出当前switch语句,如果没有break则继续往下执行

case 10:

    console.log(10);

   break;

default:

    console.log(找不到符合的条件或者到了最后,就执行这里面的语句);

}

with(严格模式下不能使用)

with语句的作用就是将代码的作用域设置到某个特定的对象中

var b={a:1};

with(b){

alert(a);//1

}

function exampleA() {

   var a=2;

  with(b){

console.log(a);//2

}
console.log(a);
var b={a:1};



 

当语句执行到with时,当前with的执行环境会被添加到作用域链顶端,所以结果先打印1,再打印2

在with中创建的变量会属于当前with所在的执行环境,而不是属于with传入的对象b中

   function exampleA() {

        var a=2;

        with(b){
           var c=3;
            console.log(a);
            console.log(c)//3

        }
        console.log(a);
        console.log(c)//3
    }
    exampleA()
  

}

with语句接收的对象会添加到作用域链的前端并在代码执行完之后移除


猜你喜欢

转载自blog.csdn.net/hamsterknight/article/details/80285397