zoukankan      html  css  js  c++  java
  • 30.函数作用域链 (GO AO 也叫词法作用域链)、 调用栈、调用栈涉及this绑定

    一:函数作用域链(词法作用域链)                        js中没有动态作用域,只有词法作用域

     函数内部声明的变量,只有通过传递参数才能互相使用,否则不行。函数内部声明的变量在AO内,不会影响全局GO中的变量,即使同名也不会影响。在函数内部可以使用全局变量,但是要注意执行顺序。如foo执行时是因为bar()调用 foo是在var a=30之上,所以在执行foo时,a预解析为undefined还没被赋值为10

      此时打印 10 ,因为先执行a=10,在执行函数。

    过程 :

    预解析:             GO{

          foo:function(){}

                         bar:function(){}

                         a:undefined;--->10

                       }

    执行:1.bar()

                           bar{

                               AO :  a: undefined-->30

                               foo()}

                foo :console.log(a)  没找到 a  故报undefined;

    GO AO也叫:词法作用域链

    二:

    调用栈:嵌套调用,调用一切需要执行的函数。调用栈中的调用位置决定了this的绑定

    称呼; 

    str叫字符串

    ostr 叫字符串对象    对象才有属性与方法

    包装对象:包装类将原始值包装成对象

                        

  • 相关阅读:
    js中剩余参数
    css中 @mixin的使用
    前端Vue中常用rules校验规则
    vue 运行时报错: Cannot assign to read only property 'exports' of object 'Object'
    webpack 常用的loader
    二维码图片合成 ----合成图片以便微信长按保存(移动端)
    VUE中引入第三方JS
    小程序开发者工具--快捷键
    小程序注意事项
    webpack+ES6+less 开发环境搭建
  • 原文地址:https://www.cnblogs.com/yzdwd/p/12531059.html
Copyright © 2011-2022 走看看