变量提升
console.log(a);
var a = 1;
function a () {
}
a = 2;
function a () {
}
a();
事件循环
var log = console.log
new Promise((resolve) => {
log(3)
resolve();
}).then(() => log(4))
async function foo () {
console.log('5');
await bar();
console.log('7');
}
async function bar () {
console.log('6');
}
foo();
this
var log = console.log
var name ="window";
var bar ={name: "bar" };
var foo = {
name: "foo",
say:() => {log(this.name)},
say2: function () {
return () => {log(this.name)}
}
}
foo.say()
foo.say.call(bar);
foo.say2()();
foo.say2.call(bar)();
foo.say2().call(bar);