在ColdFusion的,當我打電話IsDefined("root.L1[1].L2")
,我收到以下錯誤:ColdFusion的錯誤():參數必須是語法上有效的變量名
Parameter 1 of function IsDefined, which is now root.L1[1].L2, must be a syntactically valid variable name.
這是一個有效的變量名,那麼是什麼原因?
這裏是我的簡單測試代碼:
<cfscript>
root = StructNew();
root.L1 = ArrayNew(1);
root.L1[1] = StructNew();
root.L1[1].L2 = "foo";
WriteOutput("root.L1[1].L2 is: #root.L1[1].L2#<br/>"); //no exception
if(IsDefined("root.L1[1].L2")) //exception!
WriteOutput("It is defined!");
else
WriteOutput("It is not defined!");
</cfscript>
自從我做完CF以來已經有一段時間了,但對我而言,這看起來不像「變量名」。它看起來像一個變量名(root)加上一個屬性訪問,一個索引器查找,然後是另一個屬性訪問。換句話說,它不是一個簡單的變量名稱,它實際上至少會在封面上創建三個方法調用。 – 2010-08-03 21:20:51