一道考察范围挺广的题

92 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情

知识点

  • new 等运算符的优先级
  • settimeout 函数和立即执行函数的作用域是全局作用域。但没有this 的话,比如本来应该是this.a改成 a 的话, 就会遵循作用域链
  • 函数提升优先于变量提升,但最后的赋值结果看谁是最后赋值的,函数在预编译的时候就会进行赋值(一边声明,一边赋值。),然后再是变量的赋值。最后变量的赋值就覆盖了函数的赋值。
var name;
function name(){
    console.log(1);
} 

console.log(typeof name);//function
name = 12
console.log(typeof name);//number

12345678
var name=12;
function name(){
    console.log(1);
} 

console.log(typeof name);//number

//总结就是 看我那个函数与变量提升优先级的博客

12345678

看题

js面试题Foo.getName()的故事
javascript关于函数声明和函数表达式的一道题?解释一下为什么?