我目前正在开发一个用经典asp编写的项目。之前我曾经使用过这种语言,但是我生气了。
在该代码中,我看到以下函数调用:
Result = SwapOEMPart(sItem)
当我看到SwapOEMPart时,我看到了这一点:
function SwapOEMPart(oemPart)
// Do a bunch of stuff
oemPart = objRS("CCIPartNo") <-- this is the result of the stuff
end function
那是做什么的?它是否用oemPart的值填充Result?它是否会改变sItem的值(类似于通过引用传递)?或者它可能完全不同。
我熟悉通过将函数名设置为您想要返回的值来从asp函数返回数据,但在这种情况下,它们正在更改它们传入的参数的值,然后才结束函数。 / p>
答案 0 :(得分:5)
根据您提供的代码,我假设objRS
是adodb.recordset
,如果是这种情况,CCIPartNo
是recorset中的一列,所有你的代码正在做的是将该列的值写入eomPart
变量 - eomPart
在函数声明中未被引用为byref
但如果您在vbscript中则假定为默认值(不是.net)所以**几乎就像将列的值传递回eomPart&amp;因为eomPart是对示例中sItem值的引用,所以sItem的实际值会发生变化。
http://msdn.microsoft.com/en-us/library/ee478101%28VS.84%29.aspx