Javascript 在对象的创建和执行阶段发生了什么?

Javascript 在对象的创建和执行阶段发生了什么?,javascript,Javascript,我创建了一个普通的JavaScript对象,如下所示: 让obj={ 名字:“某物”, 打印(){ console.log(this.name); } } 设res=obj.print() 控制台日志(res)在幕后,JavaScript解释器在内存中创建一个对象,并通过obj引用它。调用obj.print()时,它引用同一个对象并调用定义的方法 在方法中,引用对象本身(obj),并由JS解释器设置为隐式引用 最后,您忘记了从print()返回值。因此,res没有分配任何内容。参考以下示例,当

我创建了一个普通的JavaScript对象,如下所示:

让obj={
名字:“某物”,
打印(){
console.log(this.name);
}
}
设res=obj.print()

控制台日志(res)在幕后,JavaScript解释器在内存中创建一个对象,并通过
obj
引用它。调用
obj.print()
时,它引用同一个对象并调用定义的方法

在方法中,引用对象本身(
obj
),并由JS解释器设置为隐式引用

最后,您忘记了从
print()
返回值。因此,
res
没有分配任何内容。参考以下示例,当函数返回值时,它正确打印
res
的值

让obj={
名字:“某物”,
打印(){
console.log(this.name);
返回此.name;
}
}
设res=obj.print()

控制台日志(res)我要写一篇关于你要求的“幕后”的文章。不幸的是,这可能会让您感到困惑,而不是让事情变得更清楚,因为JavaScript本身就是一种“不同”的语言

在JavaScript中,函数是一个对象。有时甚至称为一级对象。它拥有对象所拥有的一切(属性和方法),此外,还可以调用更多。不相信我?你自己看看:

函数abracadabra()
{
返回“这是魔术”;
}
console.log(abracadabra.name);

log(abracadabra.call())
print
不返回任何内容,它只是自己记录一些内容。我可以理解,但我的问题是幕后的javascript是如何工作的。例如::://*//创作阶段obj=undefind res=undefind execution phase name=ref print=ref*/什么是“创作和执行阶段”???