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对象添加不必要成员。  

  • 相关阅读:
    在Linux系统中Navicat for MySQL 出现1045错误如何处理
    一个老程序员这些年的心得体会
    忘了
    DAY11
    day10_plus
    day10
    东北育才冲刺noip(day9)
    Java语言Socket接口用法详解
    JDBC-ODBC桥连接方式操纵SQL数据库
    JDBC连接SQL Server 2005步骤详解
  • 原文地址:https://www.cnblogs.com/eret9616/p/9124620.html
Copyright © 2011-2022 走看看