【发布时间】:2015-09-25 07:03:33
【问题描述】:
第一次发帖。编程新手。
在 Javascript 中,当我声明一个新变量并将这个新声明的变量设置为存储一个函数时,该函数是否在代码运行时立即执行(执行上下文)?
例如,
function Person() {
console.log(this);
this.firstname = 'John';
this.lastname = 'Doe';
}
var john = new Person();
变量 john 是否在同一行执行函数“Person”的同时被声明?
【问题讨论】:
-
使用关键字
new,您正在创建一个可以使用变量john引用的新对象。删除new并将调用Person的结果存储在john中。就如此容易。 W3schools 为初学者提供了很好的教程。 -
变量声明在任何代码执行之前被处理,所以 john 在任何代码运行之前被创建并赋值为 undefined。同样,函数声明也在执行之前被处理,所以Person在执行开始之前也存在。当执行运行时,john 被赋值为右边表达式的返回值,它是 Person 的一个实例。
-
@Rinzler — 请展示 w3schools 解释如何创建执行上下文和建立环境记录的位置。我认为 OP 不会在那里学到这一点。
-
为什么投反对票?这个问题可能看起来很幼稚,但它很清楚并且写得很好
-
@RobG 我说:Allah Akbar 有一个很好的初学者教程,我没说别的。
标签: javascript function variables execution