前端面试的时候,面试官问,请谈一谈你对闭包的理解,该怎么回答?1、闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成#30"定义在一个函数内部的函数#30"
前端面试的时候,面试官问,请谈一谈你对闭包的理解,该怎么回答?
1、闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成#30"定义在一个函数内部的函数#30"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁2、使用闭包的注意点1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。2)闭包会在父函数外部,改变父函数内部变量的值
所以澳门新葡京,如果你把父函数当作对象(object)使【shǐ】用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。
为何前端面试官都喜欢问闭包?
这可作为面试官快速了解应聘者的javascript知识水平的手段。不是为了问闭包而问闭包。如果不搞清楚闭包的原理,就按照面试宝典里的话来套,面试官再往下问一下估计就会知道水平。闭包其实是最能体现javascript语言语法设计的核心,因为实际开发中到处都是闭包,不知不觉的时候开发者其实已经在用闭包了。比如,面试官问什么是闭包?你回答闭包就是可以让外部作用域可以访问内部变澳门威尼斯人量的一种手段。那面试官会继续问,为什么会这样,说一下原理?如果你不知道作用域链,词法作用域这些概念,那就等于是记住了一{yī}个表面知识。
最后,面试的过程是考察的过程,并不是【练:shì】以把应聘者问倒为目的,而是通过逐步深入来了解应聘澳门伦敦人者的实际技术水平,以便更准确的决定是否符合应聘岗位。
我只是说说我自己作为面试官的一些想法,毕竟也面试过不少人,也许其他面试官也有他自己的一套面试手段,幸运飞艇最终目的是为了寻找更适合应聘岗位的同事,如果不是这个目的,那就真《练:zhēn》的是在装逼糊弄应聘者了。
本文链接:http://10.21taiyang.com/Health-Conditions/8659338.html
2020web前【练:qián】端经典面试题转载请注明出处来源