在爲javascript賦值之前需要聲明變量時,是否有類似的最佳做法?由於範圍原因,有時它是必要的,但如果範圍並不重要呢?聲明空javascript變量的最佳做法
// Declare first
(function() {
var foo = 'bar',
a = 500,
b = 300,
c;
// Some things get done here with a and b before c can use them...
c = a * b;
// c is now ready to use...
doSomething(c);
}());
// Declare when needed
(function() {
var foo = 'bar',
a = 500,
b = 300;
// Some things get done here with a and b before c can use them...
var c = a * b;
// c is now ready to use...
doSomething(c);
}());
而且我也想知道什麼是類似與對象文本的東西最好的做法:
// Add property with null assigned to it
var myObj = {
foo: null,
doSomething: function() {
this.foo = 'bar';
}
};
// Property gets added when value is set
var myObj = {
doSomething: function() {
this.foo = 'bar';
}
};
大部分只是一個風格問題。 Crockford建議在範圍頂部聲明所有變量,它有時可以幫助清除一些常見的誤解(例如'for'循環內的'var'聲明,它實際上屬於'for'範圍之外的範圍)。 –
@FabrícioMatté謝謝!甚至沒有想過'for'循環,但它確實有道理。 – Hendrik