js的alert函数执行的时候其他js文件或者html文件会停止执行吗

JavaScript012

js的alert函数执行的时候其他js文件或者html文件会停止执行吗,第1张

你这种情况,如果我没有“猜”错,你的JS应该放在了HTML代码的前面。

而且并没有进行(window.onload())加载。

如果你把你这些代码包含在onload中,就好了。

原理是:

首先网页接你所编写的代码顺序依次加载,当然有时候也会由于网络原因导致加载成功的顺序有所不同,但基本不会相差太多。

它先加载了你的vote[0],然后这个vote[0]所指向的DOM(也就是你说的DIV)却没有被加载并解析,浏览器这时候还不认识这个vote[0]是个什么东西。

所以,这个时候浏览器会报错这行代码,如果你使用浏览器的F12功能键打开调试器,应该可以看到报错信息。

如果你希望让这段代码加载时直接运行,要考虑执行顺序的问题,要么onload再执行,要么把它放到HTML后面去。

而为什么alert之后就好用了呢?因为alert执行的时候,在等待用户确认的这个过程中,程序是被阻断的,不会向下执行,但是页面的加载过程却不中止,这就相当于页面加载并解析的时间,被alert给留下来了,如果用户的手快,而网络速度很慢的话,同样也会报错,并不执行。

————

以上。

引用链接,加载js超时需要修改配数。

brrequireJs的加载是一种异步机制,它加载js的时候有个默认的超时机制,因为网络原因或者资源找不到等原因引起的。

可以修改配置参数waitSeconds默认为7秒,可以设置为0表示永远不超时,或者大一点的数字,一般情况加载超时是静态资源过大造成或者是加载网络资源阻断。

不显示,只能是微信小程序,平时在web应用开发过程中,我们可以console.log去输出一些信息,但是在移动端,console.log的信息我们是看不到的。

这种情况下,可以选择使用alert弹出一些信息,但是这种方法不怎么方便,也会阻断JS线程,导致后面的线程都不执行。也影响调试体验。

因此,我们需要借助第三方插件:vConsole。

第一种用法:引入js文件

<script src="path/to/vconsole.min.js"></script>

<script>

console.log("test")

</script>

第二种用法:npm命令

1、安装

npm install vconsole

2、在main.js引入

import Vconsole from 'vconsole'

let vConsole = new VConsole()

3、在需要的地方

console.log(内容)