我對Actionscript有點新,但我無法弄清楚這一點。我在這個話題上做了大量的搜索,並沒有找到明確的答案。我試過以下解決方案,人們在網上發佈,但都沒有工作。Actionscript3:變量是否存在?
以下所有解決方案給出錯誤: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,所以我需要確保存在正確的變量並妥善處理代碼,如果他們沒有通過。
感謝您的快速回復。仍然沒有真正的工作。變量的範圍僅在腳本的頂部/根級別。基本上,我開始一個新的Flash文件,在第一幀我添加了以下行動:
// 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);
當我運行的Flash文件,我得到這樣的輸出:
myVariable exists
undefined
我期待這樣的:
declaring variable now...
Default Value
這工作完美!謝謝! – 2009-09-27 05:59:21
ONe爲'正確的方式'註冊商標。 – 2013-11-23 01:17:01