你这种情况,如果我没有“猜”错,你的JS应该放在了HTML代码的前面。
而且并没有进行(windowonload())加载。
如果你把你这些代码包含在onload中,就好了。
原理是:
首先网页接你所编写的代码顺序依次加载,当然有时候也会由于网络原因导致加载成功的顺序有所不同,但基本不会相差太多。
它先加载了你的vote[0],然后这个vote[0]所指向的DOM(也就是你说的DIV)却没有被加载并解析,浏览器这时候还不认识这个vote[0]是个什么东西。
所以,这个时候浏览器会报错这行代码,如果你使用浏览器的F12功能键打开调试器,应该可以看到报错信息。
如果你希望让这段代码加载时直接运行,要考虑执行顺序的问题,要么onload再执行,要么把它放到HTML后面去。
而为什么alert之后就好用了呢?因为alert执行的时候,在等待用户确认的这个过程中,程序是被阻断的,不会向下执行,但是页面的加载过程却不中止,这就相当于页面加载并解析的时间,被alert给留下来了,如果用户的手快,而网络速度很慢的话,同样也会报错,并不执行。
————
以上。
终止JS运行有如下几种可能:
一 终止函数的运行的方式有两种:
1、在函数中使用return,则当遇到return时,函数终止执行,控制权继续向下运行。
2、在函数中使用try-catch异常处理,需要结束时,使用throw抛出异常。
二 终止动画特效的运行的方式是使用stop方法:
1、 stop([clearQueue], [gotoEnd]) :停止所有在指定元素上正在运行的动画。
2、如果队列中有等待执行的动画(并且clearQueue没有设为true),将被马上执行。
3、终止表单提交的方式:在表单提交事件中使用return false;可以阻止表单提交。
4、终止定时函数执行的方式:使用windowclearInterval(定时器对象)或windowclearTimeout(定时器对象);可以终止正在执行的定时器。
扩展资料:
S即Javascript,Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器终端语言,比如Perl,遗留的速度问题。
当时服务端需要对数据进行验证,由于网络速度相当缓慢,只有288kbps,验证步骤浪费的时间太多。于是Netscape的浏览器Navigator加入了Javascript,提供了数据验证的基本功能。
你的js是封装在js文件里还是写在jsp页面的script标签里?如果想每一个函数都执行,给你一个最简单的方法,你把js写在jsp页面的script里。并且每一个函数都写一个script标签,比如:
<script>
function aa(){
//我有错误
}
</script>
<script>
function bb(){
//我依然执行
}
</script>
这样写,互不影响。记得一定要写在jsp页面中。
function a(c){
if(c == 0){
if(b() === false){//执行b
return;//跳出方法
}
}
$post()//执行其它逻辑
}
function b(){
if(xxx){//如果执行不通过。。
return false;//返回false通知父方发
}
}
在javascript中,函数总是在一个特殊的上下文执行(称为执行上下文),如果你将一个对象的函数赋值给另外一个变量的话,这个函数的执行上下文就变为这个变量的上下文了。
下面的一个例子能很好的说明这个问题
代码如下:
windowname = "the window object"
function scopeTest() {
return thisname;
}
// calling the function in global scope:
scopeTest()
// -> "the window object"
var foo = {
name: "the foo object!",
otherScopeTest: function() { return thisname }
};
foootherScopeTest();// -> "the foo object!"
var foo_otherScopeTest = foootherScopeTest;
foo_otherScopeTest();
// –> "the window object"
解决方法捕获按键的事件。
<script language="javascript">
function test(event) {
event = event || windowevent;
if(eventkeyCode==13) { alert("你按了回车") }
if(eventshiftKey==true) { alert("你按了shift") }
if(eventctrlKey==true) { alert("你按了ctrl") }
if(eventaltKey==true) { alert("你按了alt") }} </script>
每个按键都对应一个ASCII码 比如回车的ASCII码是13 每个按键的ASCII码你可以在百度上查。
setTimeout() 方法的返回值是一个唯一的数值,如果你想要终止 setTimeout() 方法的执行,那就必须使用 clearTimeout() 方法来终止,而使用这个方法的时候,系统必须知道你到底要终止的是哪一个 setTimeout() 方法 (因为你可能同时调用了好几个 setTimeout() 方法),这样 clearTimeout() 方法就需要一个参数,这个参数就是 setTimeout() 方法的返回值 (数值),用这个数值来唯一确定结束哪一个 setTimeout() 方法
你的setTimeout(function(){locationreload();},1000)会返回一个值。
比如你要用回车结束setTimeout js代码如下。
function test(event,id) {
event = event || windowevent;
if(eventkeyCode==13) {
clearTimeout(id);
}
}
这里的ID 就是你 setTimeout方法的返回值。了解了吗?
定义一个变量,在函数b里面使用它来判断执行,如果值为真,则执行,值为假则终止再在函数a里面改变这个变量的值
<script type="text/javascript">
var run = true;
function a(){
run = false;
}
function b(){
if (run){
//your js Code
}
}
</script>
以上就是关于js的alert函数执行的时候其他js文件或者html文件会停止执行吗全部的内容,包括:js的alert函数执行的时候其他js文件或者html文件会停止执行吗、如何终止JS继续运行、js 函数 怎么确保每个函数都执行,无论前面的函数成功或中断或错误都继续往下执行,不能改函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)