面试JS

Posted MakeCoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试JS相关的知识,希望对你有一定的参考价值。

1. 下面是考察JS的上下文环境中的变量以及函数提前问题:

console.log(a);
var a = 3;
function a(){
  consolo.log(10);  
}
a();
console.log(a);
a = 6;
a();

结果输出,f a(){ console.log(10) }, 结果是执行到a()时候出错,因为a被重新赋值为3,已经不是函数,所以执行a()出错。

这里需要注意一点是,js上下文提前的时候,函数的优先级比变量优先级高;

 

2. 主要考察闭包问题

 

function func(n, k){
  consolo.log(k);
  return {
     func: function(m){
        return func(m, n);
    }          
  }    
}    

var a = func(0); a.func(1); a. func(2); a.func(3);

var b = func(0).func(1).func(2).func(3);

var c = func(0).func(1); c.func(2); c.func(3);

执行结果:

undefined   0, 0, 0

undefined 0, 1, 2

undefined 0, 0, 0

以上是关于面试JS的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

前端面试题之手写promise

js代码片段: utils/lcoalStorage/cookie

JS代码片段:一个日期离现在多久了