这听起来像是一个菜鸟问题,但是可以解决了。
基本上,我是将大量数据从一个对象传递到另一个对象。下面是一个简化的示例。

//示例1
函数Person(hugeData){
this.info = function(){
console.log(hugeData);
}
}
荷马=新的人(hugeData);
Homer.info();

和....相比

//示例2
函数Person(){
var hugeData;

this.set = function(data){
hugeData =数据;
}

this.info = function(){
console.log(hugeData);
}
}
荷马= new Person();
Homer.set(hugeData);
Homer.info();

两个代码段之间在性能方面有很大不同吗?请关注示例的上下文,而不是代码本身(设置对象变量与通过参数传递)。

虽然上面的示例是针对Javascript的,但我也想知道相同的原理是否适用于其他编程语言(如PHP)。

谢谢。

最佳答案

一点都不。

现在无需赘述,形式参数和局部变量都存储在引擎盖下的所谓激活对象(在ES3中)或词法环境记录(ES5)中。

因此,访问时间在规格上应该相同。

如果您想了解详细信息,请结帐:

http://dmitrysoshnikov.com/ecmascript/javascript-the-core/



http://dmitrysoshnikov.com/ecmascript/es5-chapter-3-2-lexical-environments-ecmascript-implementation/

测试用例:http://jsperf.com/formal-parameters-vs-local-variables-access-time

关于javascript - 函数自变量数据与分配变量之间的性能有何不同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12420670/

10-09 17:57