zoukankan      html  css  js  c++  java
  • 词法作用域与动态作用域

    JavaScript使用词法作用域(lexial scope)又叫静态作用域:

    词法作用域(lexial scope)/静态作用域(static scope)是在书写代码或者说定义时确定的,而动态作用域是在运行时确定的。 词法作用域关注函数在何处声明,而动态作用域关注函数从何处调用,其作用域链是基于运行时的调用栈的。

    代码示例:

     

    ================================================================================

     

    javascript加var和不加var的区别:

     

    JS中变量声明分显式申明和隐式声明。

      var num=100;//显式

      num=100;//隐式

    在函数中使用var关键字进行显式声明的变量是做为局部变量,而没有用var关键字,使用直接赋值方式声明的是全局变量。

    当我们使用访问一个没有声明的变量时,JS会报错。而当我们给一个没有声明的变量赋值时,JS不会报错,相反它会认为我们是要隐式申明一个全局变量,这一点一定要注意。

    不加var的写法是不推荐的。
    1.  语义不清楚。 
    2.  团队开发时,容易覆盖掉其它作用域内的变量,引发异常。
    3.  给window对象添加不必要成员。  

  • 相关阅读:
    hdu 2680 最短路径(dijkstra算法+多源最短路径单源化求最小值)
    kmp算法
    STP根交换机,指定端口,根端口,阻塞端口
    python,django安装
    交换机access与trunk口
    树状数组
    hdoj 2191(多重背包)
    hdoj 2601(判断N=i*j+i+j)
    二维背包经典问题
    hdoj 2602(背包)
  • 原文地址:https://www.cnblogs.com/eret9616/p/9124620.html
Copyright © 2011-2022 走看看