一大波的修改

添加单元测试以及规范的代码注释，还有添加了ES5中Array的新API