腾讯js面试题1

拼搏现实的明天。 2022-06-10 20:48 452阅读 0赞

该题难度系数为:★★★

考查技术点:1). 作用域与作用域链 2). 变量查找

  1. var x = 10;
  2. function fn() {
  3. console.log(x);
  4. }
  5. function show(f) {
  6. var x = 20;
  7. f();
  8. }
  9. show(fn);

运行结果为:

Center

接下来我们分析下思路:

首先我们先来了解下三个概念,

作用域:

  1. 一块特定的代码区域,全局作用域和函数作用域,隔离变量,避免命名冲突

作用域链:

  1. 由内向外的多个嵌套的作用域形成的链条

查找变量:

  1. 从当前作用域开始,沿着作用域链查找(注意不是原型链查找),如果找不到,就报错

调用show(fn),就是把fn函数当作函数参数传进去,即show函数变成了,

function show(f) {
var x = 20;
fn();
}

具体分下如图所示:

Center 1

发表评论

表情:
评论列表 (有 0 条评论,452人围观)

还没有评论,来说两句吧...

相关阅读

    相关 2022面试

    2022【京东】面试真题: 1、哪些情况下的对象会被垃圾回收机制处理掉? 利用可达性分析[算][Link 1][法][Link 1],虚拟机会将一些对象定义为GCRoots

    相关 Java面试

    免费版:[腾讯 JAVA 面试题][JAVA] 一不小心收到鹅厂的面试邀请,想着鹅厂也还可以,帅哥美女也多,就去面试了。 ![watermark_type_ZHJvaWR

    相关 js面试2

    本题难度系数: ★★★ 考查技术点:  1). 变量提升  2). IIFE 3). 作用域与作用域链 4). 变量查找 var name = 'World!

    相关 08年面试

    1.1000瓶药水,其中至多有1瓶剧毒,现在给你10只小狗在24小时内通过小狗试药的方式找出哪瓶药有毒或者全部无毒(小狗服完药20小时后才能判断是否中毒) 答: 第一种: