在Javascript中,提供更多性能:
argument
传递给函数OR
this
变量获取类结构中的指针示例:
选项1:
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就会变得过于冗长。
答案 0 :(得分:1)
您的两个示例在范围上有所不同。
您的第一个示例,内部函数具有父函数范围,并且无法在外部访问。
您的第二个示例具有父对象范围,但您可以使用对象实例访问外部:
function parent() {
function child() {
// only accessible inside parent() function
}
}
var parent = function() {
this.child = function() {
alert("Yeah");
};
};
var p = new parent();
p.child(); // alerts Yeah

答案 1 :(得分:1)
首先,性能取决于浏览器和用户PC ofc。 两个例子几乎相同。 第一个可以更快,因为您可以直接引用该对象。 换句话说,你用的越少'。'你获得更好的表现。 所以:
this.Obj // do something
慢于:
Obj // do something
但你不会注意到差异:) 如果您想了解更多信息,请尝试获取此书: http://shop.oreilly.com/product/9780596802806.do