美文网首页
一个面试题

一个面试题

作者: Simon_King | 来源:发表于2019-04-03 16:48 被阅读0次

以下代码输出什么

(function(x){
console.log(x);
var x =10;
function x(){}
}(100))

作答:

首先这是一个(function(){}()) 立即执行的匿名函数,x为接收的参数,100为传入的参数
乍一看,console.log(x) ,函数执行时传入了100,js是【逐行执行】,输出肯定是100....
再往下看,咦,又定义了一个x ,细心的可能会想,想坑我,哥可是知道【变量提升】的,这结果肯定是undefined
接着,后面又定义了 一个function x,有的朋友就发现了,函数声明,会前置在作用域的最前面,也就是说,在代码执行之前,x这个函数就已经定义了,这个时候输出的x应该是function x(){} 源码。

这道题理解的层次不一样,也决定了答案不一样!

答案1:10(我至今想不明白这个朋友是怎么想到这个答案的)
答案2:100 (只看透了立即执行匿名函数、传参、js逐行执行)
答案3:undefined(看到了变量提升)
答案4:function(){}(完全看透了整个题目的考点,函数声明前置)

分解代码:

(function(x){
function x(){}
var x;
console.log(x);  // function x(){}
x = 10;
console.log(x); //10
}(100))

相关文章

  • 面试材料

    面试经验 面试题1 面试题2 面试题3 面试题4 面试题5 面试题6――数据结构 面试题7――网络 面试题8――汇...

  • 高阶面试题

    webpack面试题 面试题:webpack插件 Git面试题 面试题:git常用命令 面试题:解决冲突 面试题:...

  • this的指向的面试题

    面试题1 面试题2 面试题3 面试题4

  • 面试所涉及的问题

    面试题参考1 : 面试题 面试题参考2 : 内存管理 面试题参考3 :面试题 ...

  • java实习生面试题题库

    java实习生面试题,java基础面试,java面试题2018及答案,java面试题库 1、[一个.java源文件...

  • Android超实用最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • Android最全面试大纲(三)

    文章目录: ANR面试题 OOM面试题 Bitmap面试题 UI卡顿面试题 内存泄漏面试题 内存管理面试题 一、A...

  • java实习生面试题_java基础面试_java面试题2018及

    java实习生面试题,java基础面试,java面试题2018及答案,java面试题库1、一个.java源文件中是...

  • 2019-06-06

    iOS高级面试题 如何面试iOS工程师 一个渣硕iOS春招总结 请你出一套iOS面试题 压倒程序员的最后一个面试题...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

网友评论

      本文标题:一个面试题

      本文链接:https://www.haomeiwen.com/subject/xebzbqtx.html