假設Table為obj,要查詢的變量/屬性/函數為A;
第一種方法:
if obj.A then
--此變量/屬性/函數存在,do something
end
第二種方法
local state,isError = pcall(function()
local x = obj.A;
return type(x) ~= "nil"
end)
if state and not isError then
--此變量/屬性/函數存在,do something
end
報錯:一般報錯為===>field or property Exit does not exist
原理:pcall是一種調用方法的安全套,將異常吞在里面,而且返回調用是否順利。有錯誤的話,pcall會返回false。
注:如果查詢是否為函數,判斷條件可以為 type(x)=="function"