zoukankan      html  css  js  c++  java
  • 原型链与作用域链、执行上下文

    学习文章---汤姆大叔的博客

    总结笔记

    原型链:

    每个对象都有一个__proto__隐式原型属性,当对象在自身的基本属性中找不到所需的属性,它将沿着__proto__链去找。

    作用域链:

    所有变量都存储在变量对象VO中,当在变量对象找不到时,将会往上一级执行上下文的变量对象中查找。with,catch语句会改变作用域链。

    二维查找:

    首先,沿着对象的作用域链找到上一个作用域链节点,然后,在当前的作用域链节点查找,如果查找不到,就沿着原型链查找,接着,如果还是找不到,就继续找下一个作用域链节点。

    注意:活动对象(函数)没有原型

    执行上下文堆栈

    当程序开始时,会进入全局上下文环境。调用函数,就会进入函数的执行上下文。eval也是一个函数。

    变量对象

    全局上下文变量对象(全局对象)(VO):①存储变量声明、函数声明。 ②在任何地方都可以访问,在整个程序结束后才销毁。

    函数上下文变量对象(AO):存储变量声明、函数声明、arguments对象、函数的形参

    注意:变量对象中不存储函数表达式

  • 相关阅读:
    HDU 2047 阿牛的EOF牛肉串
    HDU 2015 偶数求和
    HDU 2029 算菜价
    HDU 2028 Lowest Common Multiple Plus
    动态函数库设计
    静态函数库设计
    Linux编程规范
    Linux应用程序地址布局
    Core Dump 程序故障分析
    W-D-S-UART编程
  • 原文地址:https://www.cnblogs.com/xuhaodong/p/javascript.html
Copyright © 2011-2022 走看看