[英]How to modify an inner property of a nested object in Javascript using a variable reference
[英]Local variable reference to object property overhead in JavaScript
使用局部變量而不是屬性本身來引用對象屬性是一種不好的做法嗎?
function Apple(){
this.type = 'green appale';
}
Apple.prototype.slice = function(){
//Does this create a noticeable overhead?
var type = this.type;
//slicing action
}
答案是是和不是。 從性能的角度來看,不必擔心。 與其他性能問題相比,這簡直是小菜一碟。 除了經驗法則之外,還要編寫代碼以提高可讀性,並且僅在需要根據事實進行概要分析時才進行優化。 不要預先優化。
注意事項...如果您將值保存為不可變值(字符串,整數,布爾值),那么您100%安全就可以這樣做。 如果它是一個對象或數組,那么您需要知道它是一個引用,並且更改也會影響原始變量。 最后,如果它是一個函數,那么您必須意識到您將在上面的代碼示例中松開它的上下文 。
function foo() {}
var bar = foo; // Context is irrelevant.
function foo() {
this.baz = 'foobar';
}
var bar = foo; // You must provide a context or `this` becomes `window`.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.