原文网址:https://www.youyong.top/article/1159d74dcd6c0
常见的面试题分析 , 直接来几道面试题 看看你能否答对
原文网址:https://www.youyong.top/article/1159d74dcd6c0
常见的面试题分析 , 直接来几道面试题 看看你能否答对
原文网址:https://www.youyong.top/article/1159d74dcd6c0
如果你能够都答对可以忽略本文的阅读.免得浪费时间
接下来我要带大家分析下为什么是这样的结果
分析之前你需要明白的是 :创建应用程序的时候,总免不了要声明变量和函数 解析器(interpreter)是如何以及从哪里找到这些数据(变量,函数)的,
当我们引用一个变量时,在解析器内部又发生了什么?
我们知道 变量和执行上下文相关 那么它就应该知道数据储存在哪里以及如何访问这些数据,这种机制被称为变量对象(variable object)。
变量对象(简称为 VO)是与某个执行上下文相关的一个特殊对象,并储存了一下数据
1. 变量(var, VariableDeclaration)
2. 函数声明(FunctionDeclaration, 缩写为FD)
3. 函数形参
也就是所有的执行中的变量都会存储在 这个vo中
你只要明白了 函数执行分2个阶段 (确定上下文 执行代码) 在确定上下文阶段定义vo(ao)对象值时候 的规则
规则如下
argument(函数的形参) > function声明 > var声明 (也就之前提高的变量提升Hoisting)
共 0 条留言
iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评
资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样
看片要当心了!色站不只掏空你,还可能掏空你的电脑 | 网页中可能包含JS挖矿机脚本!!!
说说Javascript的闭包(Closure)是怎么回事?
ajax返回的http status是200 没有进success方法 却进入了error方法?
手机扫一扫
分享文章