方法是否创建新的执行上下文?

时间:2019-01-23 18:53:31

标签: javascript methods scope execution hoisting

很明显,在调用新的常规函数​​(声明)时,会在执行堆栈(顺序)的顶部放置一个新的执行上下文。

当调用作为对象的属性值的Method时,会发生相同的过程吗?

下面的对象方法中的常规函数​​声明证明,即使将常规函数声明放在对象的方法中,也会发生提升。

var testObj = {
    testMethod: function() {
        withinMethodFunct();
        function withinMethodFunct() {
            alert('hello alien planet...');
        }
    }
}
testObj.testMethod();

由于内部方法函数(MethodMethodFunct())被吊起并且可以在定义之前调用它,所以这告诉我testMethod()空间/环境具有变量对象(VO),这意味着它具有自己的执行上下文。

如果这是真的,那么范围链是什么样的?

如果有人可以阐明这一点,将不胜感激。

0 个答案:

没有答案