- 主题:2018年的第一个前端问题之函数表达式
(function(){
这里加个alert()
img.onload = function(){
这里设置文档背景色为黄色
};
})();
执行它就可以看出同步异步。
【 在 bater 的大作中提到: 】
: 今天研究预加载时看到了这个示例片段,觉得这个函数写得很精彩
: (function(){
: img.onload = function(){};
: ...................
--
FROM 61.183.136.*
不好意思,中午那会回你了,当时快要睡午觉了,有点不在状态。所以那个例子是错的。
我的意思是你其实可以测试出来。
(function(){
alert();
document.write("ok");
})();
// 上面的代码,弹框出来的时候你啥都不点,看不到ok,因为它被alert阻塞了,阻塞为同步。下面的,弹框出来的时候,你依然啥都不点,可以看到ok了,因为这次是异步执行的,不阻塞了。
(function(){
setTimeout(function(){
alert();
},0);
document.write("ok");
})();
异步有延时,行为触发,ajax,onload不记得了,你可以自己测试出答案。
【 在 bater (Bater) 的大作中提到: 】
: 多谢提供方案,似乎有点理解异步了。
--
FROM 49.210.133.*
我也不会研究得那么透彻哈,一个知识点学透如果分10成功力的话,我一般只学到4、5成就止步了,如果觉得在实际工作中不够用的话,才会回头再学,加1、2成功力。
可能是我偏向实用主义的缘故,学透了我也不写书,所以一般属于点到为止的学习派,基本上明白了,就止步了。
再一个是我了解我的记性比较差,很容易忘,所以也感觉学深了最后还是忘了,有点浪费时间。
不过可否透露下有啥不一样,哈哈。
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: settimeout跟异步还是不一样的。
--
FROM 119.79.81.*
好的,谢谢,我再消化一下。
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: settimeout是把事件在特定时间之后,放到系统的一个队列,等待下一个loop从里边取。
: 异步是浏览器其他线程干某事,也可以干完后再把回调放系统的那个队列。
--
FROM 119.79.81.*