我已经读过,由于作用域链在 javascript 中的工作方式,如果我们希望在函数 F 中引用未在 F 的作用域内声明的变量 V,那么声明一个是有益的(在性能方面是的) F中引用V的局部变量V2,然后通过V2访问V引用的对象。
我想知道这个概念是否适用于 C# 和 VB 中的闭包(通过 lambda 访问函数中的局部变量)
Public Shared Function Example()
Dim a = 1
Dim b = New Object
Return Sub()
'when we use the variables a and b from here does it have to "go up the scope chain"
End Sub
End Function
顺便说一句,如果答案不是过早的优化是万恶之源,我更愿意