変数をグローバル名前空間に入れると、競合が生じることがあります。2つのJSLスクリプトで同じ名前の変数を使用した場合、最初のスクリプトの変数の値が、あとで実行されたスクリプトにより変更されてしまいます。
この問題を回避するには、各スクリプトの冒頭に次のような行を挿入します。
Names Default To Here( 1 );
Names Default To Here( 1 );関数は、スクリプトの中にある範囲指定されていない変数すべてがそのスクリプトのローカル変数であることを宣言し、グローバル変数名前空間に影響を与えないようにします。高度な適用範囲指定と名前空間を参照してください。
メモ:
• カスタムメニューおよびツールバーボタンのスクリプトについて、Names Default to Hereは、デフォルトで真に設定されています。カスタムメニュー項目を選択するか、またはカスタムツールバーボタンをクリックした際に実行されるスクリプトは、グローバル変数に影響を与えません。
• テーブルスクリプトでは、Names Default to Hereはデフォルトで偽となっています。テーブルスクリプトでNames Default to Here(1)が指定されている場合、この設定は、スクリプトを実行している間のみ維持され、スクリプトの実行が終了した時点で、実行前の設定にリセットされます。