网站建设教程JavaScript中的三个点(…)是什么意思?(上)

  这是我在努力优化面试方式时经常遇到的一个问题。我不想误判别人或以错误的方式评价他们,所以我花了一些时间钻研脑袋,在Internet上搜寻资源并缩小范围。

  这不是确定的清单,在您甚至开始阅读之前,我必须大声说清楚。这里概述的所有观点都不应该孤立地对待。

  面试官需要考虑多种因素。例如,候选人的经验,他们从事的项目数量,过去使用的技术以及当解决技术难题时当前的表现。

  通过为候选人提供一些实施方法并将其留给候选人,您可以学到很多。

网站建设教程JavaScript中的三个点(…)是什么意思?(上)-梦幻科技

  我希望听到人们对这个主题的想法和建议,因此请使用评论部分。如果有价值的信息浮出水面,我一定会用它来更新文章,并感谢作者。

  1.原型继承与此

  您知道原型继承的工作原理,但您不知道如何this工作。超过初级阶段的任何JavaScript Web开发人员都应至少能够部分解释这两个概念。

  2.类型强制与宽松/严格相等

  您可以谈论类型强制,但不能正确解释==和===之间的区别以及它们在内部的工作方式(提示:有人使用类型强制)。

  这些概念是相互依存的。例如,严格等式(===)用于避免由于类型强制导致的误报。

  3.吊装与封闭

  您可以解释吊装,但不能解释什么是封闭件和/或何时使用封闭件。

  尽管这两个概念之间没有直接联系,但这更多是个人期望。一旦开始学习作用域和闭包在JavaScript中的工作方式,您不可避免地会最终学习起重。

  4.辨别数组方法(四大方法)

  当您要在另一个map之上使用数组方法时,您无法正确表达-over forEach,reduceover map等等。。。

  四大数组的方法有不同的用途,以及它们的范围从更一般的,如forEach专门的像map,reduce或filter。我想说,任何网页开发称职至少应该知道如何使用forEach,map和filter。

网站建设教程JavaScript中的三个点(…)是什么意思?(上)-梦幻科技

  5.活动委托

  您无法用Vanilla JavaScript解释事件委托或编写简单的事件处理程序来证明这一点(提示:Vanilla JavaScript不是新框架)。

  事件委派的最具体示例是在列表中的项目上注册单击事件。天真的解决方案是将事件处理程序绑定到每个列表项。但这不是最优的,也不是可扩展的。

  const lis =document.querySelectorAll('li');

  lis.forEach(

  (li)=>li.addEventListener('click',(e)=>console.log('clicked!'),false));

  如果列表被更改并添加了新项目,则您将无法在新项目上注册事件处理程序。因此,您可以将单击处理程序注册在列表本身上,然后查看被单击的节点是否为列表项。

  const list =document.querySelector('ul');

  list.addEventListener('click',(e)=> {

  // normally,event.target.nodeNameis in uppercase - LI

  if(e.target.nodeName.toLowerCase()=== 'li'){

  // only log to the console if the target node is an <li>

  console.log('clicked with delegation!');

  }

  return false;

  },false);

  这是事件委托,使用常规的JavaScript!

  6.伪代码/表达您的想法

  您无法用伪代码描述概念。

  面试官可能想与您进行对话,因此您应该能够解释您正在考虑的解决方案,而不必编写代码-至少对于简单的概念而言。

  除非面试官完全是疯子,并且他们抑制了您,否则您应该讲话。您应该口头表达您正在考虑的解决方案,因为这使他们有机会评价您的问题解决能力。

  您最终会面试,以便您可以加入团队。在团队中,您需要表达自己的想法。如果您无法解释,那么面试官将很难意识到您是否适合团队。

  总结思想

  每个组合的倒数也有效。

  再说一遍,这并不是确定的清单,在过去的四年中,我从我为雇主/客户进行的访谈中得到的大部分内容都来自这里。随意贡献自己的力量。

  我写这篇文章的原因是因为有人要求我回答有关Quora的类似问题:Javascript中有5个“必须知道”的概念是什么,如果您不知道,这些概念会向其他人表明您仍然是初学者?。

  我觉得给新的Web开发人员和初学者JavaScript开发人员特别明确的指导非常重要。


联系我们

13751415268

853408942

:853408942@qq.com

:9:30-22:30

QR code