public override ScriptObject GetValue(object index) { if (index is double || index is int || index is long) { int i = Util.ToInt32(index); if (i < 0) { throw new ExecutionException(Script, "Array GetValue索引小于0 index值为:" + index); } if (i >= m_size) { return(m_null); } return(m_listObject[i] ?? m_null); } else if (index is string && index.Equals("length")) { return(Script.CreateNumber(m_size)); } throw new ExecutionException(Script, "Array SetValue只支持Number类型 index值为:" + index); }