【发布时间】:2019-01-20 20:15:14
【问题描述】:
方法链:正如概念所述,每个方法返回一个对象,允许 在单个语句中将调用链接在一起。链接是 无需中间变量的语法糖,
只想知道,Method chaining(return a reference to a object) 在stack 中创建(anonymous? )intermediate variables 吗?
在 Java 中
例如:a.functionA().functionB().functionC().functionD()
在上面的陈述中,
A.在a 调用functionA 之后,JVM 是否会在stack 中分配一个temporary variable(指向对象B)以便调用下一个函数(如function B)?
B.或者只是variable a(in stack)调用函数functionA,然后returned value(address)(stored somewhere else)在heap中指向object B,没有中间变量在@中创建987654336@?
在 JavaScript 中
例如:
Person 有一个prototype 对象,那么你可以使用prototype 来访问里面的属性,例如sayHi()function 在这种情况下是Person.prototype.sayHi,这会在堆栈中创建一个中间变量吗?
【问题讨论】:
-
@KaustubhKhare,我不认为这个问题回答了这个问题中询问的技术细节。
-
@KaustubhKhare,你能回答我吗?这不是重复的
-
@31piy javascript 中的prototype 怎么样,Person 有一个prototype 对象,那么你可以使用prototype 来访问里面的属性,那么
Person.prototype.anything,这会不会在stack 中创建一个中间变量 -
@Ruizhi -- 这个问题没有提到任何与 JavaScript 相关的内容(除了标签)。它在所有地方都引用了 JVM。如果您想要具体答案,请编辑您的问题以限制其范围。
-
@31piy 我已经更新了javascript原型版本
标签: javascript java jvm heap-memory stack-memory