这就是为什么它会执行两次,因为pageinit被调用了两遍。但是为什么js会加载两次呢?你看看最后的页面结构
跟你书写的完全不一样,多了个<div data-role="page">。因此,答案揭晓了,如果你在页面中没有使用<div data-role="page">,jquery mobile会自己创建一个,因为它必须依赖这个。
它怎么创建呢?把body里面的内容复制一遍塞到div里去,body里有什么东西呢?除了你的img外还有两个script,因此它被塞入到新节点后,浏览器解释为需要加载scirpt里的内容,最后奇迹就发生了。