zoukankan      html  css  js  c++  java
  • javaScript没有块级作用域

    1.如下,变量i,j,k 的作用域是相同的。

     1 function test(obj){
     2     var i= 0;
     3     if(typeof obj == "object"){
     4         var j = 0;
     5         for(var k = 0; k< 1; k++){
     6             document.write(k);
     7         }
     8         document.write(k);
     9     }
    10     document.write(j);
    11 
    12 }

    2.将变量放置在函数开关是好的编程习惯

    1 var scope = "global";
    2 function f(){
    3     alert(scope);       //undefined
    4     var scope = "local";
    5     alert(scope);       //local
    6 }

    这两个效果相同

    1 var scope = "global";
    2 function f(){
    3     var scope;
    4     alert(scope);    //undefined
    5     scope = "local";
    6     alert(scope);    //local
    7 }

     3.今天遇到奇怪的问题

     1          (function(){
     2             var a = false;
     3             
     4             b = function(){
     5                  a = 1;
     6             }
     7             b();
     8             alert(a);                                  //弹出1
     9           })();  
    13 
    14          (function(){
    15             var a = false;
    16             
    17             b = function(){           
    18                 var a = 1;        //函数作用域
    19             }
    20             b();
    21             alert(a);               //弹出false
    22          })();        
    26           (function(){
    27             var a = false;         
    28             if(true){          //没有块作用域
    29                 var a = 1;
    30             }
    31             alert(a);            //弹出1
    32             
    33          })();
  • 相关阅读:
    python的基本操作while循环体
    python中类的神奇方法应用案例
    Python中类的神奇方法
    python 中类的初始化方法
    Python中类的创建和self的作用
    投掷骰子的游戏,键值对
    字典常用方法
    剪刀石头布
    math 模块
    PYTHON内置模块
  • 原文地址:https://www.cnblogs.com/yuyutianxia/p/3235391.html
Copyright © 2011-2022 走看看