私はActionscriptに少し慣れていませんが、これを理解することはできません。私はこのトピックについて多くの検索を行いましたが、明確な答えは見つかりませんでした。私は人々がオンラインで投稿した以下の解決策を試しましたが、どれもうまくいきません。
次のすべての解決策でエラーが発生します:1120:未定義のプロパティmyVariableへのアクセス
提案#1:
try {
trace(myVariable); }
catch {
trace("your variable doesn't exist"); }
提案#2:
if (myVariable) {
trace("your variable exists!!"); }
else {
trace("it doesn't exist"); }
提案#3:
if ( myVariable == null )
trace("your variable doesn't exist");
提案#4:
if ( myVariable == undefined )
trace("your variable doesn't exist");
私が言ったように、私はそれらがうまくいくと言って上記の提案を与える多くのフォーラムの投稿やものをオンラインで見つけました、しかしそれらはすべて私に同じ1120:未定義のプロパティmyVariableエラーへのアクセスを与えているようです。
ちなみに、なぜ変数が存在するかどうかを確認する必要があるのか疑問に思われる場合は、URLでSWFに変数を渡すことを計画しているので、適切な変数が存在することを確認してコードを処理する必要がありますそれらが渡されない場合は適切に。
早速のお返事ありがとうございます。まだ実際には機能していません。変数のスコープは、スクリプトのトップ/ルートレベルにあります。基本的に、新しいフラッシュファイルを開始し、最初のフレームで次のアクションを追加します。
// to check for this.myVariable
if ( this.hasOwnProperty( "myVariable" ) ) {
trace("myVariable exists");
}
else
{
//Variable doesn't exist, so declare it now
trace("declaring variable now...");
var myVariable = "Default Value";
}
trace(myVariable);
フラッシュファイルを実行すると、次の出力が得られます。
myVariable exists
undefined
私はこれを期待していました:
declaring variable now...
Default Value