API を作成するときは、関数を上から順に並べるのが好きな傾向があります。最も公開されている関数を一番上に、ヘルパー関数を一番下に置きます。ただし、var
マジックfunction
宣言以外で関数を定義する場合は、関数を定義する前に使用することはできません。$company
では、呼び出されたオブジェクトがあり、そのメソッドを定義している場合はどうでしょう。この方法で JS を安全に注文できますか?
var $company = {};
$company.foo = function(x) {
$company.bar(x*x); // used in definition, but not called directly - ok?
};
// $company.bar(6) // this would produce an error
$company.bar = function(x) {
alert(x);
};
現在のバージョンの Firefox では動作するようですが、動作が定義されているかどうかを知りたいです。これが壊れる IE のバージョンはありますか?