js 延长作用域

延长作用域:
          1:with语句
       function buildUrl(){
            var qs = "?debug=true";
            var person = {"name":"hello"};
             //(window/person)with语句可以延长js变量作用域,
               //使用var 申名的变量会添加到最近接的环境
              //url被添加到buildUrl函数环境就是与buildUrl环境平级,而不是with语句块环境
            with(window){ 
            var url = "hello" + qs;
            }
            return url;
       }

       alert(buildUrl());  //结果hello?debug=true;


      // 没有块级的作用域
      2,判断语句
        if(true){
            var hello = "world";
         }
          alert(hello);  //结果world
        if(false){
            var hello = "world";
         }

          alert(hello);  //结果undefined


       // 3,for语句循环
        //这个i的作用域会存在window运行环境中,alert(window.i); // 结果9
        for(var i = 0; i < 9;i++){
            doSomething(i);
         }
         function doSomething(i){
         }
          alert(i); // 结果9
        -- i 变量的作用域只会存在for循环外部作用域中,即fun函数块中
        function run(){
         for(var i = 0; i < 9;i++){
            doSomething(i);
         }
      }
     function doSomething(i){
         }
        run();
      alert(i); // 结果 i未定义


//4 try 语句
       try{
       var flag = true;
       var t = p;
       }catch(ex){
      
       }
    alert(flag); //结果 true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值