Google JavaScript スタイル ガイドによると、これは ECMAScript の一部ではないため、ブロック内で関数宣言を宣言するべきではありません。ただし、ブロックと見なされるものについては完全にはわかりません。
具体的には、コンストラクター関数があり、そのコンストラクターのスコープ内で関数を定義したいと考えています。これは {} のセット内にあるため、ブロック内の関数としてカウントされますか? もしそうなら、それはすべての関数宣言がグローバルでなければならないということですか?
適切な測定のためのいくつかのコード:
違う (?)
function Constructor() {
function Shout () { alert('THE BEST UX IS IN ALL CAPS.'); }
}
右 (?)
function Constructor() {
var Shout = function () { alert('THE BEST UX IS IN ALL CAPS.'); };
}