function Foo() {
getName = function() {
console.log(1)
}
console.log(this)
return this
}
Foo.getName = function name() {
console.log(2)
}
Foo.prototype.getName = function() {
console.log(3)
}
var getName = function name() {
console.log(4)
}
function getName() {
console.log(5)
}
// Foo.getName(); //2
// getName() // 4
// Foo().getName(); // 1
// new Foo.getName(); //2
// new Foo().getName(); //3
// new new Foo().getName() // 3
// start script
// asyn1 start
// asyn2
// promise1
// end script
// asyn1 end
// promise2
// setTimeout
async function asyn1() {
console.log('asyn1 start')
await asyn2()
console.log('asyn1 end')
}
async function asyn2() {
console.log('asyn2')
}
console.log('start script')
setTimeout(() => {
console.log('setTimeout')
}, 0);
asyn1()
new Promise(function(resove) {
console.log('promise1')
resove()
console.log('promise1---2')
})
.then(function name() {
console.log('promise2')
})
console.log('end script')
理清作用域和事件循环的两个案例
猜你喜欢
转载自blog.csdn.net/ChasenZh/article/details/110729814
今日推荐
周排行