Javascript 函数参数与此性能
在Javascript中,它提供了更高的性能:Javascript 函数参数与此性能,javascript,performance,Javascript,Performance,在Javascript中,它提供了更高的性能: 将指向大型数据结构的指针作为参数传递给函数 或 使用此变量获取类结构中的指针 例如: 备选案文1: function() { function(Ob) { // do something with Ob }; } 备选案文2: function() { // Class structure this.Ob = { foo: "bar" }; // bar is a big data structure
参数传递给函数
此
变量获取类结构中的指针function() {
function(Ob) {
// do something with Ob
};
}
备选案文2:
function() { // Class structure
this.Ob = { foo: "bar" }; // bar is a big data structure
this.Fn = function() {
var x = this.Ob
// Use x
};
}
我发现选项1更具可读性,但一旦函数需要大量变量,选项1就会变得过于冗长 你的两个例子的范围不同 在第一个示例中,内部函数具有父函数作用域,在外部无法访问 第二个示例具有父对象范围,但您可以使用对象实例访问外部:
函数父函数(){
函数子(){
//只能在parent()函数中访问
}
}
var parent=函数(){
this.child=函数(){
警惕(“耶”);
};
};
var p=新的父对象();
p、 child();//首先,性能取决于浏览器和用户PC ofc。
这两个例子几乎相同。
第一个可以更快,因为您对对象有直接引用。
换句话说,使用“.”越少,性能越好。
因此:
慢于:
Obj // do something
但你不会注意到区别:)
如果您想了解更多信息,请尝试获取本书:
运行一些测试并找出答案。不同浏览器甚至不同版本的浏览器的性能可能不同。这两种方法都不会有太大的区别,在实践中都很重要。如果参数是一个对象,默认情况下它是通过引用传递的。因此,这取决于你在处理什么。最后,浏览器以不同的方式实现JS引擎。没有正式的JS运行时,但所有3个流行的JS执行引擎都非常快,这些类型的优化毫无意义。你只是在浪费时间。使用对您和您的团队来说最具可读性的内容(如果您在其中)。“在Javascript中,它提供了更高的性能”这是如何回答这个问题的?从浏览器的内存和cpu使用方面来说,使用普通对象是更好的性能。但是,性能是一个主观概念,取决于大量变量(cpu、ram、hd、浏览器、internet速度连接、操作系统等)。换句话说,代码中的第二个示例更好。嘿!谢谢你的回答!当你思考C++的底层性能时,它是有意义的。
Obj // do something