• 模拟块级作用域和私有作用域


      JavaScript中没有直接的块级作用域,然而,可以使用匿名函数表
    达式来模拟块级作用域,任何定义在匿名函数中的变量在匿名函数执行
    完之后都将被销毁,在匿名函数外访问这些变量将会产生错误。如:

         
    functionoutputNumbers(count)
         
    {
            
    (function()
            
    {
               
    for(vari=0;i<count;i++)
               
    {
                  
    alert(i);
               
    }
            
    })();
            
    alert(i);   //causes an error
          }

      
    匿名函数表达式提供了创建私有作用域的方法。这种技术通常应用
    在函数外部的全局作用域中,防止变量和函数添加到全局作用域中。在
    大型应用中,可以避免命名冲突。如:

         
    (function()
         
    {
            
    varnow=newDate();
            
    if(now.getMonth()==0&&now.getDate()==1)
            
    {
               
    alert("Happy new year!");
            
    }
         
    })();

      
    上例中,匿名函数内的now变量只能在匿名函数内被访问。成为
    局部变量。
      
    这种模式不会有闭包产生的内存问题,因为不存在对匿名函数的
    引用。当函数执行完成后,作用域链将被立即销毁。
      
    上例中的匿名函数实际上是一种立即执行的匿名函数表达式。

  • 相关阅读:
    jxl将list导入到Excel中供下载
    秒转为时分秒格式js
    秒转为时分秒格式
    加载样式js
    myeclipse:web项目不能显示Web App Libraries
    myeclipse出现src作为报名一部分src.com.*
    top命令
    Linux编写一个C程序HelloWorld
    前端jsp页面script引入url项目名使用${appName}
    流量监控iftop安装-CentOS7
  • 原文地址:https://www.cnblogs.com/shn1637/p/3456609.html
Copyright © 2020-2023  润新知