这些前端大厂面试题你会做吗?每日10题大厂面试题(四)

秒速五厘米 2023-01-18 02:20 215阅读 0赞

文章目录

  • 题1(sessionStorage)
  • 题2(yield)
  • 题3(import)
  • 题4(纯函数)
  • 题5(私有变量,SyntaxError)
  • 题8(引用类型比较)

题1(sessionStorage)

cool_secret可以访问多长时间

  1. sessionStorage.setItem('cool_secret', 123)

答案:用户关闭选项卡时
这道题主要考察:

  • sessionStorage:sessionStorage 属性允许你访问一个,对应当前源的 session Storage 对象。它与 localStorage 相似,不同之处在于 localStorage 里面存储的数据没有过期时间设置,而存储在 sessionStorage 里面的数据在页面会话结束时会被清除。

题2(yield)

下面输出的是

  1. function* generator(i) {
  2. yield i;
  3. yield i * 2;
  4. }
  5. const gen = generator(10);
  6. console.log(gen.next().value)
  7. console.log(gen.next().value)

答案: 10, 20
这道题主要考察:

  • yield:一般的函数在执行之后是不能中途停下来的。但是,生成器函数却可以中途“停下”, 之后可以再从停下的地方继续。当生成器遇到yield关键字的时候,会生成yield后面的值。注意,生成器在这种情况下不返回值,而是生成yield值

题3(import)

下面输出的是:

  1. // module.js
  2. export default () => 'Hello world'
  3. export const name = 'Lydia'
  4. //index.js
  5. import * as data from './module'
  6. console.log(data)

答案:{default: function default()}
这道题主要考察:

  • import: export导出分为两种,默认导出和命名导出,即export default和export
  • 默认导出:对于导出内容的命名无关紧要,只要给定名称即可,但默认导出只有一个。
  • 命名导出:导入时,名称必须与导出的名称一致,可以导出多个。
  • 使用*会把文件里所有的导出都导入指定的文件

题4(纯函数)

下面是个纯函数吗

  1. function sum(a, b) {
  2. return a + b;
  3. }

答案:Yes
这道题主要考察:

  • 纯函数:纯函数是一种若输入参数相同,则永远会得到相同输出的函数。sum函数总是返回相同的结果,如果我们传递1和2,它将总是返回2而没有副作用,这就是纯函数的定义

题5(私有变量,SyntaxError)

  1. class Counter {
  2. #number = 10;
  3. increment() {
  4. this.#number++;
  5. }
  6. getNum() {
  7. return this.#number;
  8. }
  9. }
  10. const counter = new Counter();
  11. counter.increment();
  12. console.log(counter.#number);

答案:SyntaxError
这道题主要考察:

  • 私有变量,class用#定义私有变量,在class外部我们无法获取该值
  • SyntaxError, SyntaxError 对象代表尝试解析语法上不合法的代码的错误。因为counter类是有number属性的,只不过因为私有属性,所以不能访问,所以会抛出不合语法的错误,而不是undefined

题8(引用类型比较)

下面输出的是:

  1. function cehckAge(data) {
  2. if (data === { age: 18}) {
  3. console.log('You are an adult!');
  4. } else if (data == { age: 18}) {
  5. console.log('You are still an adult.');
  6. } else {
  7. console.log('Hmm..You do not hava an age I guess');
  8. }
  9. }
  10. checkAge({ age: 18})

答案:Hmm…You do not have an age I guess
这道题主要考察:

  • 引用类型比较,在比较相等性,原始类型通过它们的值进行比较,而对象通过它们的引用进行比较。Javascript检查对象是否具有对内存中相同位置的引用,比的是地址而非值

    小伙伴们今天的学习就到这里了,如果觉得本文对你有帮助的话,欢迎转发,评论,收藏,点赞!!!
    每天学习进步一点点,就是领先的开始。如果想继续提高,欢迎关注我,或者关注公众号”祯民讲前端“。大量前端技术文章,面试资料,技巧等助你更进一步!
    在这里插入图片描述

发表评论

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

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

相关阅读