美团js面试题

美团js面试题转载自:http://blog.csdn.net/qq_27682041/article/details/76408681该题难度系数:★★★考查的技术点:1).作用域与作用域链 2).变量查找这题分为两小题,我们先看第一题:[javascript] viewplain copyvar fn = funct

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

转载自:http://blog.csdn.net/qq_27682041/article/details/76408681

该题难度系数: ★★★

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

这题分为两小题,我们先看第一题:

[javascript] 
view plain  
copy

  1. var fn = function () {  
  2.     console.log(fn)  
  3.   }  
  4.   fn()  



这题就是问我们调用fn后,结果是多少?

其实主要考查我们的作用域链的理解程度了,因为我们在函数fn里面找不到fn相关的值,只能往外层查找,然后在全局作用域里,我们找到了fn函数,属于最后输出的就是fn函数体结构了。

第二小题:

[javascript] 
view plain  
copy

  1. var obj = {  
  2.     fn2: function () {  
  3.       console.log(fn2)  
  4.     }  
  5.   }  
  6.   obj.fn2()  

这题一运行就报错了,如图:

美团js面试题

为什么会报错呢?我们来分析下,obj.fn2函数里面找不到f2,所以我们继续往外层找,在全局作用域里面我们依然找不到f2,因为f2也没有被事先声明,所以就报错了,注意f2在obj里面的,是找不到的,若想输出fn2属性的值,可以这样写即可

[javascript] 
view plain  
copy

  1. var obj = {  
  2.   fn2: function () {  
  3.     // 想输出fn2属性的值  
  4.     console.log(this.fn2) // obj.fn2也行, 但比较死板  
  5.   }  
  6. }  



结果如下:

美团js面试题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175351.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号