ios9.2版本对for循环的兼容问题请指教

遇到的问题很简单,就是一个方法内有个循环,我之前为了简便,直接:

for(i in list){
    ...//coding
}

然后在所有平台上跑都正常(除了我们测试妹子的iPhone6老人机上——相信我,我此时的心情是充满敬意的,妹子的手机真是老人机。直到我翻来覆去的鼓捣大半天后,这种心情尤为突出)。
如题,我真真找了一大半天,才发现这么一个坑!在妹子的iPhone6上,9.2版本的情况下,for in循环不兼容(不支持,或者说是不能正常工作更为贴切,因为在该处只是循环有问题)。最后我老老实实的

for(var i=0;i<list.length;i++){
    ...//coding
}

正常了...我是如何发现这个问题的呢?因为同时在该页面上又有另一个for in循环,不同的是,这个for in循环后的内容会展示出来,而我终于发现了它默默的循环了两次...WTF?!!!!!

在其他平台上正常,唯独在妹子那iphone9.2版本的老人机上循环了两次,why?

我虽然找到了这个bug的诱因,但是却并不明白到底是因为什么原因,万能的大神们,你们知道这是为什么啊?

阅读 1.6k
1 个回答

你应该是用了Vue2.x吧,并且这个list是响应式的(被vue监听的),在ios9上for in确实会存在遍历两边的情况,这个应该是ios9下对于for in的bug。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题