假设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"