- 主题:2018年的第一个前端问题之函数表达式
今天研究预加载时看到了这个示例片段,觉得这个函数写得很精彩
(function(){
img.onload = function(){};
})();
想问一下,这个函数到底是同步阻塞的运行还是异步?
--
FROM 121.56.9.*
console.log(1);
(function(){
console.log(2);
img.onload = function(){console.log(3);};
console.log(4);
})();
console.log(5);
求顺序
【 在 bater (Bater) 的大作中提到: 】
: 今天研究预加载时看到了这个示例片段,觉得这个函数写得很精彩
: (function(){
: img.onload = function(){};
: ...................
--
FROM 219.142.140.210
1
2
4
5
// 3 optional
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: console.log(1);
: (function(){
: console.log(2);
: ...................
--
FROM 183.95.135.*
列顺序真是个帮助思考的好方法,谢谢。
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: console.log(1);
: (function(){
: console.log(2);
: ...................
--
FROM 121.56.9.*
setImmediate(function(){
console.log(1);
},0);
setTimeout(function(){
console.log(2);
},0);
new Promise(function(resolve){
console.log(3);
resolve();
console.log(4);
}).then(function(){
console.log(5);
});
console.log(6);
process.nextTick(function(){
console.log(7);
});
console.log(8);
再看看这个。。我复制的。。
【 在 bater (Bater) 的大作中提到: 】
: 列顺序真是个帮助思考的好方法,谢谢。
--
修改:shaolin FROM 219.142.140.210
FROM 219.142.140.210
从Promise开始没法理解了…… :_( ,这是一个新课题
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: setImmediate(function(){
: console.log(1);
: },0);
: ...................
--
修改:bater FROM 121.56.9.*
FROM 121.56.9.*
shaolin同志真是个好老师,赞
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: setImmediate(function(){
: console.log(1);
: },0);
: ...................
--
FROM 123.120.187.*
where is the declaration of "resolve"?
【 在 shaolin (我的大小宝贝儿...) 的大作中提到: 】
: setImmediate(function(){
: console.log(1);
: },0);
: ...................
--
FROM 183.95.135.*
search with keywords : microtask macrotask ...
it's not specified in ecma .
【 在 a0123456789q (a0123456789q) 的大作中提到: 】
: where is the declaration of "resolve"?
--
FROM 219.142.140.210
(function(){
这里加个alert()
img.onload = function(){
这里设置文档背景色为黄色
};
})();
执行它就可以看出同步异步。
【 在 bater 的大作中提到: 】
: 今天研究预加载时看到了这个示例片段,觉得这个函数写得很精彩
: (function(){
: img.onload = function(){};
: ...................
--
FROM 61.183.136.*