javascript模拟命名空间