首页
学习
活动
专区
圈层
工具
发布

50道JavaScript详解面试题,你需要了解一下

[[原型]为空,它会返回undefined在控制台上。该对象位于原型链的顶部,当浏览器查找访问属性的值时,它将遍历原型链,直到找到该值或直到不再遍历所有原型为止。 15、空值合并运算符做什么?...因为set和get中的Object是内存中两个不同的空对象,因此getter不会返回值。 23、控制台输出是什么,为什么?...答案是B,可枚举属性。 26、以下内容是什么? 控制台输出将为'Mohit',因为内部函数有权访问在外部作用域中声明的变量。 27、函数引用自身进行递归的三种方式是什么?...38、控制台输出是什么,为什么? 一个被分配到一个对象,b被分配给一个使用该扩展运算符,它意味着一个和b在技术上是相同的。 c只是一个空对象。...40、event.target与event.currentTarget有何不同? event.currentTarget随着事件起泡而变化,event.target保持不变。

4.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【前端 · 面试 】JavaScript 之你不一定会的基础题(二)

    [JavaScript 之你不一定会的基础题] 前言 在上一篇文章【前端 · 面试 】JavaScript 之你不一定会的基础题(一)中,有同学产生了这样一个疑惑:为什么 click 事件的监听函数中,...对于这个答案中的第二次输出结果,有人生出了疑惑:为什么 parent 事件触发时,e.target.id 的结果为 child呢?不应该是 parent 吗?...这两个阶段如下图所示: [bubbling-capturing] 在现代浏览器中,默认情况下,所有事件处理程序都在冒泡阶段进行注册,这也是为什么只有一个阻止冒泡方法的方法 event.stopPropagation...关于 this 和 event.target ,总结如下: 在整个事件流程中,event.target 永远都指向真正触发了事件流程的元素 ,即处于事件触阶段的元素。...捕获止于 event.target,冒泡始于 event.target。 主流浏览器都默认在冒泡阶段进行事件注册,所以,只有阻止冒泡的方法而没有阻止捕获的方法。

    78910

    美团JAVA面试154道题分享

    新的一轮面试季即将开始,提前为大家搜集了154道相关的面试题,虽然没有答案,但也可以为大家指引一些基本的方向。...垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? Java 中会存在内存泄漏吗,请简单描述 深拷贝和浅拷贝。 System.gc() 和 Runtime.gc() 会做什么事情?...并发编程28题 Synchronized 用过吗,其原理是什么? 你刚才提到获取对象的锁,这个“锁”到底是什么?如何确定对象的锁? 什么是可重入性,为什么说 Synchronized 是可重入锁?...乐观锁一定就是好的吗? 跟 Synchronized 相比,可重入锁 ReentrantLock 其实现原理有什么不同? 那么请谈谈 AQS 框架是怎么回事儿?...在Java中,为什么不允许从静态方法中访问非静态变量? 设计一个ATM 机,请说出你的设计思路? 在Java 中,什么时候用重载,什么时候用重写?

    2K21

    前端面试那些坑

    HTML5 为什么只需要写 ? 行内元素有哪些?块级元素有哪些? 空(void)元素有那些? 页面导入样式时,使用link和@import有什么区别? 介绍一下你对浏览器内核的理解?...请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式 移动端的布局用过媒体查询吗? 使用 CSS 预处理器吗?喜欢那个? CSS优化、提高性能的方法有哪些?...如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里) display:inline-block 什么时候会显示间隙?(携程) overflow: scroll时不能平滑滚动的问题怎么处理?...JQuery的源码看过吗?能不能简单概况一下它的实现原理? jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?...能谈谈你未来3,5年给自己的规划吗? 京程一灯,梦起的地方,我们始终相信通过努力,可以改变自己的命运。 我们始终相信,通过坚持不懈,可以为大家解决更多的前端技术问题。

    2.9K60

    从 antDesign 来窥探移动端“滚动穿透”行为

    上述是 MDN 中对于 overscroll-behavior 属性的描述,上述这段话恰恰描述了为什么会发生"滚动穿透"现象。...之所以寻找 event.target 元素至 event.currentTarget(包含)可滚动祖先元素,是因为我们需要判断本次滚动是否有效。...'10' : '01' // 我们在上边提到过,找到范围内可滚动的元素 const el = getScrollParent( event.target as Element...这点最初我也不太明白为什么这么做,所以我也去 vant 中进行了请教,详见 vant Discussions。...判断滚动条是否到达底部,而是使用 scrollTop + offsetHeight >= scrollHeight 显然这是不准确的可能会导致 Bug(因为 scrollTop 是一个非四舍五入的数字(可以为小数

    1.6K20

    你的React组件为什么总是能跑就行?这9种设计模式,能让你的组件从能用到好用

    模式一:容器-展示分离——最被低估的架构思想 争议点:为什么90%的人都理解错了? 很多人以为这就是简单的"业务逻辑分离",错了!这是一种职责边界的哲学思考。...热点争议:受控组件真的是React的"性能毒药"吗? 网上铺天盖地的文章都在说"受控组件性能差",但真相是:大部分人根本不知道什么时候该用哪种。 // 什么时候用非受控?...模式三:复合组件——React组件设计的"终极奥义" 为什么这是最容易被误解的模式? 很多人以为复合组件就是"组件嵌套",实际上这是一种声明式API的设计哲学。...模式六:状态缩减器模式——组件内部的"Redux哲学" 为什么99%的人都小看了这个模式? 很多人以为这只是useReducer的高级用法,实际上这是可扩展性设计的体现。...模式九:配置vs组合——API设计的哲学选择 最后的争议:什么时候用Props,什么时候用Children? 这不是技术问题,而是API设计哲学的问题。

    36710

    跳槽面试的成功技巧

    对雇主而言,面试是收集信息的过程,无论是一个人还是一个团队面试你,他们都是要搞明白“为什么是你?”这个问题,包括:“我们喜欢你吗?我们想让你在这儿工作吗?你有我们需要的技能、知识或经验吗?...能和其他员工和谐相处吗?” 他们会问的问题,和你能问的问题 你只需要重视五个基本问题。有权录用你的人需要答案,有的问题可能直接问,有的可能没明确提出: 1.“你为什么来这里?”...我不知道为什么,只知道确实如此。总之,了解过这份工作,你决定想要它,就必须提出请求。面试官最坏的答案会是“不”,或者“我们需要时间进行完所有面试”。 b“我什么时候能得到最终消息?”...c“我能问一下最晚何时能得到您的答复吗?”面试官大概思索一下,然后会给这个问题一个答案。现在你想知道:最晚会是什么时候?顺便说一句,有次我求职,问面试官最晚什么时候我能得到答复。他说:“永远不会!”...我以为他很幽默,结果表明,他相当认真。 d“如果到时候因为一些原因您没答复我,我能联系您吗?”有些雇主讨厌这个问题,你能判断出来,如果他们的声音突然变得冷冰冰。

    70840

    干货 | 国外大神总结的10个Java编程技巧!

    这就是人们为什么喜欢进行“防错性程序设计”的原因。 偏执的习惯有时很有意义,有时则不够清晰也不够聪明,也许当你想到这样写的人的时候还会觉得有点怪异。...只要我们的Options是真实存在的(Java 8中 Optional是对可以为空的对象进行的封装),不是吗?...所以,-1 就可以理所当然被拿来用,对吗?我说不对,看看这个: ? 谁知道呢。...5 检查 null和长度 不管什么时候你有一个集合、数组或者其他的,确保它存在并且不为空。 ? 你不知道这些数组来自哪儿,也许是早期的JDK API呢?...因为: 这也是为什么所有的变量和参数都用final声明的原因。 ? 好吧,我承认,这一条我自己也不常用,虽然我应该用。

    83910

    字节跳动面试官揪着源码一直问,然后......

    从二面到三面之间隔了挺久的,他以为都没戏了,结果就收到了通知。 由于已经拿到了很多大厂的Offer,他对这次面试还是挺有信心的。但是回来之后,表现的特别沮丧。...他给我总结了一下面试官关于源码部分的问题,主要题目如下: 1、你看过那些源码吗? 2、那你能讲讲 HashMap的实现原理吗? 3、HashMap什么时候会进行 rehash?...9、为什么ConcurrentHashMap中的链表转红黑树的阀值是8? 10、还看过其他的源码吗?Spring的源码有了解吗? 11、SpringBoot的源码呢?...知道starter是怎么实现的吗? 以上,就是我这位朋友被面试官血虐的过程。全程围绕源码展开。 那么,为什么面试官这么喜欢问源码?作为面试者你又为什么需要看源码呢? 难道是为了面试吗?我觉得不是!...2)从问题出发 深入学习之前,最好带着一个问题,比如学习HashMap的源码时候,你带着问题『什么时候会进行rehash』,这样你就可以围绕自己的问题逐渐的深入展开。从点到面,逐步扩展。

    83720

    记录年前Java岗整个历程(附字节,阿里,百度,网易,美团等面经)

    还记得当时收到四面通知的崩溃,以为结束了,都在躺尸的时候收到了四面通知。。...四面(视频面) 灵魂拷问:觉得自己前面几轮面的怎么样,为什么觉得三面没面好,三面面试官提出的问题下面有去思考吗 针对被三面面试官问懵的项目问题,开始深挖和设置场景题......  写sql语句,查询各门科目成绩都>80的学生姓名      聚簇索引和非聚簇索引      mysql事务和隔离级别,默认的隔离级别      sychronized和可重入锁的区别    ORM框架...分布式数据库了解吗?      发布订阅模式,以及一个消费者组集群模式怎么消费      了解Spring吗(不了解不清楚别问我我没看)      web下服务器怎么做负载均衡的?   ...阿里(等最终通知)   一面(电话面) 项目相关:有调研其他的消息中间件吗?为什么用rocketmq?

    1.1K00

    头条面试官问我看过哪些源码,然后就没有然后了

    从二面到三面之间隔了挺久的,他以为都没戏了,结果就收到了通知。 由于已经拿到了很多大厂的Offer,他对这次面试还是挺有信心的。但是回来之后,表现的特别沮丧。 ?...他给我总结了一下面试官关于源码部分的问题,主要题目如下: 1、你看过那些源码吗? 2、那你能讲讲 HashMap的实现原理吗? 3、HashMap什么时候会进行 rehash?...9、为什么ConcurrentHashMap中的链表转红黑树的阀值是8? 10、还看过其他的源码吗?Spring的源码有了解吗? 11、SpringBoot的源码呢?...知道starter是怎么实现的吗? 以上,就是我这位朋友被面试官血虐的过程。全程围绕源码展开。 那么,为什么面试官这么喜欢问源码?作为面试者你又为什么需要看源码呢?  ? 难道是为了面试吗?...2)从问题出发 深入学习之前,最好带着一个问题,比如学习HashMap的源码时候,你带着问题『什么时候会进行rehash』,这样你就可以围绕自己的问题逐渐的深入展开。从点到面,逐步扩展。

    1.2K30

    【JDK1.8】JUC——ReentrantLock

    对上面这句话的解释: 拥有和synchronized关键字一样的行为,可重入互斥(注意,synchronized也是可重入的) 更强大的功能:比如支持公平锁和非公平锁,前面文章提到过的Condition...这里笔者阅读的时候注意到一个问题:前面提到FairSync是公平锁,每个线程按照队列的顺序来获取,但是其父类却有nonfairTryAcquire()方法来尝试直接获取锁,这一实现放在NonfairSync中不是更合适吗?...= Thread.currentThread()); } 其中代码值得我们认真思考一下: 为什么要先从tail开始赋值?...另外什么时候h.next == null,其实可以从enq的else里找到答案,也是第一次enq插入空队列的时候,当线程执行到compareAndSetTail(t, node)的时候,head !...= tail,但是此时head.next还未开始赋值,所以为null。

    56030

    看了这么多大佬的面经,想来应该回馈一波

    HashMap的putForNull方法 2、SpringMVC的bean是单例吗?可以调整吗? 3、如何保证线程安全?...(没答上来) 4、什么时候用接口?什么时候用抽象类?(答的不好) 5、最近几个月在干什么? 6、有什么问题?(我以为我凉了) Hr面试 二十分钟: 0、周围的人怎么评价你?...面试时间三十分钟,当场问我什么时候有时间二面 0、自我介绍 1、说一说项目,以及项目负责 2、MySQL索引,原理,比较B+Tree比较B-Tree的优势 3、使用过索引吗?...6、JVM内存分区,JVM参数(记得不太清楚,说没有真正实战过,面试官说为什么不去试一试。。。)...11、过滤器和拦截器谁在前面,为什么?

    1.1K00

    Java 面试题:百度前200页都在这里了

    怎么判断数组是 null 还是为空 怎么打印数组?...的吗 abstract 的 method是否可同时是 static,是否可同时是 native,是否可同时是synchronized Java支持哪种参数传递类型 一个对象被当作参数传递到一个方法,是值传递还是引用传递...为什么要有GC 什么时候会导致垃圾回收 GC是怎么样运行的 新老以及永久区是什么 GC 有几种方式?怎么配置 什么时候一个对象会被GC?...如何避免ABA问题 解释以下名词:重排序,自旋锁,偏向锁,轻量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲观锁 什么时候应该使用可重入锁 简述锁的等级方法锁、对象锁、类锁 Java中活锁和死锁有什么区别...既然我们可以用RuntimeException来处理错误,那么你认为为什么Java中还存在检查型异常 当自己创建异常类的时候应该注意什么 导致空指针异常的原因 异常处理 handle or declare

    1.7K60

    百度Java面试题前200页都在这里了

    怎么判断数组是 null 还是为空 怎么打印数组?...的吗 abstract 的 method是否可同时是 static,是否可同时是 native,是否可同时是synchronized Java支持哪种参数传递类型 一个对象被当作参数传递到一个方法,是值传递还是引用传递...为什么要有GC 什么时候会导致垃圾回收 GC是怎么样运行的 新老以及永久区是什么 GC 有几种方式?怎么配置 什么时候一个对象会被GC?...如何避免ABA问题 解释以下名词:重排序,自旋锁,偏向锁,轻量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲观锁 什么时候应该使用可重入锁 简述锁的等级方法锁、对象锁、类锁 Java中活锁和死锁有什么区别...既然我们可以用RuntimeException来处理错误,那么你认为为什么Java中还存在检查型异常 当自己创建异常类的时候应该注意什么 导致空指针异常的原因 异常处理 handle or declare

    1.5K20

    国外大神总结的 10 个 Java 编程技巧!

    这就是人们为什么喜欢进行“防错性程序设计”的原因。偏执的习惯有时很有意义,有时则不够清晰也不够聪明,也许当你想到这样写的人的时候还会觉得有点怪异。...只要我们的Options是真实存在的(Java 8中 Optional是对可以为空的对象进行的封装),不是吗?讨论一下… 2....所以,-1 就可以理所当然被拿来用,对吗?我说不对,看看这个: ? 谁知道呢。...检查null和长度 不管什么时候你有一个集合、数组或者其他的,确保它存在并且不为空。 ? 你不知道这些数组来自哪儿,也许是早期的JDK API呢? 6....这也是为什么所有的变量和参数都用final声明的原因。 ? 好吧,我承认,这一条我自己也不常用,虽然我应该用。

    2.5K20

    国外大神总结的 10 个 Java 编程技巧!

    这就是人们为什么喜欢进行“防错性程序设计”的原因。偏执的习惯有时很有意义,有时则不够清晰也不够聪明,也许当你想到这样写的人的时候还会觉得有点怪异。...只要我们的Options是真实存在的(Java 8中 Optional是对可以为空的对象进行的封装),不是吗?讨论一下… 2....所以,-1 就可以理所当然被拿来用,对吗?我说不对,看看这个: ? 谁知道呢。...检查null和长度 不管什么时候你有一个集合、数组或者其他的,确保它存在并且不为空。 ? 你不知道这些数组来自哪儿,也许是早期的JDK API呢? 6....这也是为什么所有的变量和参数都用final声明的原因。 ? 好吧,我承认,这一条我自己也不常用,虽然我应该用。

    83520

    通往大神之路,Java面试题前200页。

    怎么判断数组是 null 还是为空 怎么打印数组?...的吗 abstract 的 method是否可同时是 static,是否可同时是 native,是否可同时是synchronized Java支持哪种参数传递类型 一个对象被当作参数传递到一个方法,是值传递还是引用传递...为什么要有GC 什么时候会导致垃圾回收 GC是怎么样运行的 新老以及永久区是什么 GC 有几种方式?怎么配置 什么时候一个对象会被GC?...如何避免ABA问题 解释以下名词:重排序,自旋锁,偏向锁,轻量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲观锁 什么时候应该使用可重入锁 简述锁的等级方法锁、对象锁、类锁 Java中活锁和死锁有什么区别...既然我们可以用RuntimeException来处理错误,那么你认为为什么Java中还存在检查型异常 当自己创建异常类的时候应该注意什么 导致空指针异常的原因 异常处理 handle or declare

    2K60

    Java面试题:百度前200页都在这里了

    怎么判断数组是 null 还是为空 怎么打印数组?...的吗 abstract 的 method是否可同时是 static,是否可同时是 native,是否可同时是synchronized Java支持哪种参数传递类型 一个对象被当作参数传递到一个方法,是值传递还是引用传递...为什么要有GC 什么时候会导致垃圾回收 GC是怎么样运行的 新老以及永久区是什么 GC 有几种方式?怎么配置 什么时候一个对象会被GC?...如何避免ABA问题 解释以下名词:重排序,自旋锁,偏向锁,轻量级锁,可重入锁,公平锁,非公平锁,乐观锁,悲观锁 什么时候应该使用可重入锁 简述锁的等级方法锁、对象锁、类锁 Java中活锁和死锁有什么区别...既然我们可以用RuntimeException来处理错误,那么你认为为什么Java中还存在检查型异常 当自己创建异常类的时候应该注意什么 导致空指针异常的原因 异常处理 handle or declare

    1.2K20
    领券