社区
JavaScript
帖子详情
js语句执行顺序问题
shenjf2000
2005-07-28 07:43:02
各位大虾,有个问题我很不理解,请大家指点一二,如下一个函数:
function test1()
{
alert("test1")
window.location.href=URL;
alert("test2");
}
本来我以为调用这个函数后先alert test1,然后页面跳转,因此第二个alert无法执行。但是在ie上跑了一下证明我是错的,哪位知道为什么不是先跳转吗?谢谢!
...全文
670
19
打赏
收藏
js语句执行顺序问题
各位大虾,有个问题我很不理解,请大家指点一二,如下一个函数: function test1() { alert("test1") window.location.href=URL; alert("test2"); } 本来我以为调用这个函数后先alert test1,然后页面跳转,因此第二个alert无法执行。但是在ie上跑了一下证明我是错的,哪位知道为什么不是先跳转吗?谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
adandelion
2005-09-08
打赏
举报
回复
<script>
function test1()
{
alert("test1"); //1第一次alert;
window.location.href="URL"; //2发出改变页面的请求,“发出请求”很快,但是“获得回应”就需要一定的时间,等待回应的时候,以下script会继续执行
alert("test2"); //3第二次alert
}
//4发出请求(request)过了一段时间后,得到回应(response),并将回应的结果显示
//4和2是两个事件,不能把他们当一个事件,混为一谈
test1();
</script>
---------------------------------------------------
强,MARK......
shenjf2000
2005-09-02
打赏
举报
回复
to:duchx
执行了三个函数是不一样的,第一个和第二个只能弹出一个alert,但是后面一个可以弹出两个!
to:pyusksk503(你好)
你的意思我没有怎么明白^_^
pyusksk503
2005-08-11
打赏
举报
回复
<script language="javascript">
<!--
function test1()
{
alert("test1");
window.location.href="2.asp";
setTimeout("test2()",1000);
}
function test2()
{
alert("test2");
}
//-->
</script>
我也这么想的.
chxuxu
2005-08-11
打赏
举报
回复
顶
duchx
2005-08-11
打赏
举报
回复
我怎么执行了三个函数,都能按照顺序执行下去的啊
跟原先的没两样嘛
adandelion
2005-08-02
打赏
举报
回复
for(var i=0;i<100000;i++)
var t=i;
-------------
楼主变态,消耗内存啊~~~
shenjf2000
2005-08-02
打赏
举报
回复
请哪位高手指点一下!
hcom
2005-07-31
打赏
举报
回复
up
shenjf2000
2005-07-30
打赏
举报
回复
补充说明一下,test3函数中的for循环的作用就是为了延迟时间(我经常干这种事^_^),我看了一下ie中执行这个时间也差不多一秒,而setTimeout中是毫秒级。
shenjf2000
2005-07-30
打赏
举报
回复
楼上的回答我觉得很好,因为后来我也这么想^_^。但是有个问题,我觉得发出页面请求的时候(即进行这个url连接)页面就应该准备去打开一个新的窗口(不管这个页面是否存在不存在可能就是出现错误页面),这样当前窗口的一些对象就被销毁(包括javascript的对象),所以下面的语句就应该不被执行。不过按照目前各浏览器的表现来说好象就是这样的一个机制,但是我发现这样的机制也不完全对!比如我做了如下测试:
function test1()
{
alert("sjftest1")
window.location.href=goURL();
setTimeout("alert('sjftest2');",50);
}
function test2()
{
alert("sjftest1")
window.location.href=goURL();
setTimeout("alert('sjftest2');",1);
}
function test3()
{
alert("sjftest1")
window.location.href=goURL();
for(var i=0;i<100000;i++)
var t=i;
alert("sjftest2");
}
大家猜猜这三个函数执行的情况是怎么样的?在运行了上面三个函数后,我开始和楼主一样的想法又被打破了,有哪位能指点一下真正的原因是什么吗?
to:chjpeng(鹏&NULL)
你的意思是否告诉我如何让下面的alert2不弹出来?如果是让下面的alert2不弹出来你的方法肯定有用(当然还有其他很多方法),其实我提这个问题的主要目的是想知道javascript执行的一个机制问题,因为从上面几个函数的执行结果来看好象不这么简单!
JK_10000
2005-07-29
打赏
举报
回复
<script>
function test1()
{
alert("test1"); //1第一次alert;
window.location.href="URL"; //2发出改变页面的请求,“发出请求”很快,但是“获得回应”就需要一定的时间,等待回应的时候,以下script会继续执行
alert("test2"); //3第二次alert
}
//4发出请求(request)过了一段时间后,得到回应(response),并将回应的结果显示
//4和2是两个事件,不能把他们当一个事件,混为一谈
test1();
</script>
adandelion
2005-07-29
打赏
举报
回复
function test1()
{
alert("test1")
window.location.href=URL;
return true;
//执行完成了就返回,就像asp里面用js history.back()后要response.end一样
alert("test2");
}
-----------------------------------
return true;后,alert("test2");怎么回执行呢????????
wzhiyuan
2005-07-28
打赏
举报
回复
没怎么注意过,关注。
chjpeng
2005-07-28
打赏
举报
回复
function test1()
{
alert("test1")
window.location.href=URL;
return true;
//执行完成了就返回,就像asp里面用js history.back()后要response.end一样
alert("test2");
}
aniude
2005-07-28
打赏
举报
回复
嘿嘿,关注,,,平时也会遇到这个小问题,但不怎么去管他,,,,,,
adandelion
2005-07-28
打赏
举报
回复
alert("test2"); 影响了window.location.href=URL;进程的执行.
peanutsun
2005-07-28
打赏
举报
回复
因为window.location.href=URL慢
adandelion
2005-07-28
打赏
举报
回复
是按照顺序执行的.
adandelion
2005-07-28
打赏
举报
回复
window.location.href=URL;//速度慢点
alert("test2"); //速度快点.
正常.
3.
JS
注释,结束符,输入,输出
语句
以及代码
执行顺序
/
前端JavaScript基础训练系列一百四十七:
语句
顺序
如果你观察到了类似于我们将要展示的编译器对
语句
的重排序,那么这很明 显违反了规范,而这一定是由所使用的 JavaScript 引擎中的 bug 引起的—— 该 bug 应该被报告和修正!所以首先要检查自己的代码,并且要反复检查。但是,JavaScript 引擎在编译这段代码之后(是的,JavaScript 是需要编译的,参见本系列 的《你不知道的 JavaScript(上卷)》的“作用域和闭包”部分!前面的所有情况中,JavaScript 引擎在编译期间执行的都是安全的优化,最后可见的结果 都是一样的。
ast反混淆进阶--自执行空实参替换顺序
语句
实现目的:自执行空实参替换顺序
语句
处理前: (function() { b = 123; c = 456; }()) 处理后: b = 123; c = 456; demo.
js
//第一种自执行无参数 (function () { b = 123; c = 456; console.log(c); }()); //第一种自执行带参数 (function (a) { if (!a) { a = 10 } b = 123;
js
一个方法中的两个
语句
中间加alert弹出和不加alert弹出执行结果不一样
最近遇到一个很奇怪的
问题
: “
js
一个方法中的两个
语句
中间加alert弹出和不加alert弹出执行结果不一样” A; alert(); B; 和 A; B; 最终的运行结果不一样 (我说它奇怪是因为,A
语句
确实是执行完了,我在A里面做了运行完成的标识,如果A执行完了才能去执行B,即使是这样,运行结果还是出乎我的意料)。 最终解决是延迟B的执行window.set...
JavaScript
87,984
社区成员
224,681
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章