范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

400个最常见的JavaScript面试问答(2)

  大家好,我是海拥,专注于前端知识的分享。今天将给大家带来的是 400 个最常见的 JavaScript 面试问答第二部分。接下来我会持续更新(争取日更,也可能每周3-5篇),每小节大概 10 道题左右,总共会有 400 多道。
  大家一定要记得点赞收藏呀!!!
  11.什么是头等函数?
  在 Javascript 中,函数是第一类对象。头等函数意味着该语言中的函数被视为任何其他变量。
  例如,在这种语言中,一个函数可以作为参数传递给其他函数,可以由另一个函数返回,也可以作为一个值分配给一个变量。例如,在下面的示例中,分配给侦听器的处理函数 const handler = () => console.log ("This is a click handler function");document.addEventListener ("click", handler);12.什么是一阶函数?
  一阶函数是不接受另一个函数作为参数并且不返回函数作为其返回值的函数。 const firstOrder = () => console.log ("I am a first order function!");13.什么是高阶函数?
  高阶函数是接受另一个函数作为参数或返回一个函数作为返回值或两者兼而有之的函数。 const firstOrderFunc = () => console.log ("Hello, I am a First order function");const higherOrder = ReturnFirstOrderFunc => ReturnFirstOrderFunc();higherOrder(firstOrderFunc);14.什么是一元函数?
  一元函数(即 monadic)是一个只接受一个参数的函数。它代表一个函数接受的单个参数。
  让我们以一元函数为例, const unaryFunction = a => console.log (a + 10); // 给给定的参数加 1015.什么是柯里化函数?
  柯里化是将具有多个参数的函数转换为每个只有一个参数的函数序列的过程。Currying 以数学家Haskell Curry 的名字命名。通过应用柯里化,n 元函数将其变成一元函数。
  让我们举一个 n-ary 函数的例子,以及它如何变成一个柯里化函数, const multiArgFunction = (a, b, c) => a + b + c;console.log(multiArgFunction(1,2,3));// 6const curryUnaryFunction = a => b => c => a + b + c;curryUnaryFunction (1); // return a function: b => c =>  1 + b + ccurryUnaryFunction (1) (2); // return a function: c => 3 + ccurryUnaryFunction (1) (2) (3); // return 数字 6
  Curried 函数对于提高 代码复用性 和 函数组合 非常有用。 16.什么是纯函数?
  一个纯函数是在返回值是由它的参数没有任何副作用只有确定的函数。即如果您在应用程序中调用具有相同参数 ‘n’ 次和 ‘n’ 个位置的函数,则它将始终返回相同的值。
  我们举个例子来看看纯函数和非纯函数的区别, //不纯let numberArray = [];const impureAddNumber = number => numberArray.push(number);//纯const pureAddNumber = number => argNumberArray =>  argNumberArray.concat([number]);//显示结果console.log (impureAddNumber(6)); // returns 1console.log (numberArray); // returns [6]console.log (pureAddNumber(7) (numberArray)); // returns [6, 7]console.log (numberArray); // returns [6]
  根据上面的代码片段,通过改变数组并返回一个与参数值无关的推送数字索引,推送函数本身是不纯的。而另一方面,Concat获取数组并将其与另一个数组连接起来,产生一个没有副作用的全新数组。此外,返回值是前一个数组的串联。
  请记住,纯函数很重要,因为它们简化了单元测试,没有任何副作用,也不需要依赖注入。它们还避免了紧密耦合,并通过没有任何副作用使您的应用程序更难中断。这些原则通过优先使用const 而不是let与 ES6 的不变性概念结合在一起。 17.let 关键字的用途是什么?
  let语句声明了一个块作用域局部变量。因此,使用 let 关键字定义的变量的范围仅限于使用它的块、语句或表达式。而使用var关键字声明的变量用于定义全局变量或局部变量,而不管块作用域如何。
  我们举个例子来演示一下用法, let counter = 30;if (counter === 30) {  let counter = 31;  console.log(counter); // 31}console.log(counter); // 30 (因为这里不存在 if 块中的变量)18.let 和 var 有什么区别?
  以表格格式列出差异
  var
  let
  它从 JavaScript 开始就可用
  作为 ES6 的一部分引入
  它有函数作用域
  它有块作用域
  变量将被提升
  已提升但未初始化
  让我们举个例子看看区别,
  function userDetails(username) {   if(username) {     console.log(salary); // 由于变量提升未定义     console.log(age); // 参考错误:初始化前无法访问"age"     let age = 30;     var salary = 10000;   }   console.log(salary); //10000 (可访问到适当的函数范围)   console.log(age); //error:age未定义(由于块作用域)}userDetails("Haiyong");19. 为什么选择 let 这个名字作为关键字?
  let  是一种数学语句,被早期的编程语言如Scheme和Basic 所采用。它是从数十种其他语言中借用而来的,这些语言let已经尽可能地作为传统关键字使用var。20.你如何在没有错误的情况下重新声明 switch 块中的变量?
  如果您尝试在 a 中重新声明变量,switch block则会导致错误,因为只有一个块。例如,下面的代码块抛出如下语法错误, let counter = 1;switch(x) {  case 0:    let name;    break;  case 1:    let name; // 重新声明的语法错误。    break;}
  为避免此错误,您可以在 case 子句中创建一个嵌套块并创建一个新的块范围词法环境。 let counter = 1;    switch(x) {      case 0: {        let name;        break;      }      case 1: {        let name; // 没有用于重新声明的 SyntaxError。        break;      }    }
  希望大家能够给海海 点赞+收藏+关注 ,你的支持是海海更新的动力!后面我会持续分享面试经验 & 前端相关的专业知识。
  最后祝大家都能找到满意的实习和 offer!

菲总统下令,撤回中菲铁路贷款协议,美国或从中作梗,中方回应7月16日,菲总统马科斯向菲交通部下令,就前总统杜特尔特与中方签署,总价值49亿美元的三个铁路贷款项目进行重新谈判,菲方副交通部长对外表示,之所以做出该决定,是因为菲方认为中方提出97男篮亚洲杯14决赛资格赛,中国省队中国台北队对阵约旦队,最终,凭借着超级三分绝杀,约旦队9796淘汰了中国台北队,晋级到了8强,这也太刺激了。约旦队亚洲排名第8,实力还是比较强的,特朗普呼吁美国应该像中国一样禁毒今日,美国前总统唐纳德特朗普在拉斯维加斯举行的支持共和党候选人乔隆巴多和亚当拉索特的集会上,再次重申禁毒问题,声称中国是唯一没有毒品问题的国家,并谈及中国当年因为鸦片,而被外敌轻而吕丽萍公开悼念安倍后,三百万粉丝账号被禁言,儿子新戏也遭抵制吕丽萍悼念安倍连发痛哭的表情,今日账号被禁言,儿子新戏也遭到抵制近日,有一位已经沉寂多年的老戏骨,突然重新走进了大众的视野,但是得知真相后却让人啼笑皆非,原来她居然是因为一次言论争8年前一上海20岁消防员牺牲,42岁母亲5次试管生子孩子又回来了1994年8月,一位上海母亲在医院里诞下一名男婴,24年后的2018年6月,同一位母亲,同一所医院,再次诞下一名女婴。这位母亲第二次生子的时候,已经有42岁高龄,而本应相差24岁的她是自闭症孩子的母亲,辞职远走,让一颗颗孤独的星星发光头条好心人据联合国统计,截止到2021年,中国有1300万自闭症障碍者,其中14岁以下的儿童超过300万人。这些孩子不喜欢与人交流,很少和人对视,像是一颗颗孤独的星星,漂浮在自己的我遇见你,如鹿归林今天中午,我弟来找我借相机。我从书房里翻出老公闲置的单反,检查电量的时候,发现了几张女人的裸体照片。没有露脸,但是姿势极其性感,各种私密部位一览无遗。我怔住了,当即胸口发闷,像是被广东旧将正式签约,李楠连续招揽CBA名将,江苏队全力冲击季后赛广东旧将正式签约,李楠连续招揽CBA名将,江苏队全力冲击季后赛。目前的CBA夏季联赛仍旧在如火如荼进行中,而与此同时一些球队的引援也并没有停下脚步,根据知名记者的报道,上赛季的鱼腩火烧靖国神社的中国小伙,他为什么要这么做?上海小伙火烧靖国神社,紧急逃往韩国避难,但是在韩国避难的他却依然不消停,又一把火烧了日本驻韩国大使馆,这就是来自中国上海的青年刘强。这是一个传奇人物,他的举动曾经轰动中日韩三国,刘美媒称中美南海交锋,解放军苏众所周知,美国在国际上极少认错,哪怕自己的军事基地遍布全球,飞机航母开到了其他国家的家门口,美国也往往会倒打一耙,声称其他国家威胁了自己。7月16日,美国政客网站发表文章,声称此前包惠僧叛逃国民党18年后要求回归,周总理你过去可不是普通党员1949年开国大典过后,周总理拿着一封电报匆匆来到丰泽园,呈递给毛主席。发来这封电报的人名叫包惠僧,是18年前叛逃到国民党的中共党员。如今发来电报,一方面是对新中国成立表示祝贺,另
现代中的古典,古典中的现代ATLUS恶魔体系的诞生与发展ATLUS要走的路,最终一定要是继承与进化的。弱小如皮克希双角兽杰克霜精,强大到赛特莉莉丝梅塔特隆,即使是在2022年,我们依旧能在ATLUS的最新作品灵魂骇客2中,看到其沿用在各餐瘾地城与美食为友,与怪物为敌欢迎关注,获取更多游戏评测资讯,入手与否不再犹豫喜欢的不妨点个赞唷()人有四件事情是必须要做的,那便是吃喝拉撒,吃为首。还有一句话民以食为天,它也彰显了美食的重要性。无论你是学习学被强制下架的10部电视剧,评分最低2。1分,杨祐宁海清都不灵了近日,东八区的先生被下架突然登上热搜榜首!通过相关搜索平台可以发现,在视频网站该剧界面只剩下一些片段和花絮,正片已经没有了。该剧东八区的先生们是由夏睿执导,张翰王晓晨杜淳等人领衔主真的强!98寸MiniLED电视发布,让你的客厅秒变电影院电视这玩意,大家都知道是越大越好,还在小时候的时候就是,看到别人家的大电视机都羡慕的双眼发光。虽然说今时不同往日,但是尺寸方面依然是越大越好,一台有质感的大尺寸电视摆在客厅不仅能带一支外国军队,吃中国人的饭拿中国人的钱,但杀中国人毫不含糊熟悉中国近代史的人对于洋枪队这个名称一定不陌生,这支由洋人为主的军队在太平天国战争中,成为江南一带官府的杀手锏。洋枪队究竟是怎么回事?其他洋枪队最初就是一批国外的流氓地痞在上海租界文景之治开创者汉文帝文帝刘恒前180年即位,在位23年刘恒(前202前157年),刘邦第四子,母为薄姬。前196年,刘邦平定代地陈豨的叛乱后,立七岁的刘恒为代王,都城在晋阳(今山西太原)。前180年,斯大林儿子被俘,阿道夫希特勒提出人质交换,他为何却断然拒绝苏联曾经是一个超级大国,只有短暂的69年历史。斯大林是苏联第二位最高领导人,二战期间的苏联卫国战争中,斯大林的功劳是巨大的,斯大林在卫国战争中的作用。1941年6月,希特勒进攻苏联没有他抗美援朝战局或将改写!刘居英向总理提一建议,总理同意1951年抗美援朝时,周总理的办公室中突然响起了电话,能够打通这条专线的人极少,无一不是大人物。而在这通电话中,有个人提出了一个大胆的计划,还要找总理为他特批一个要求。而周总理听完周恩来去太原参加宴会,看到一人后勃然大怒,你给我滚出去太和岭阎锡山的军营里,正进行着一场严肃的谈话。阎锡山脸上没有任何表情,说我希望八路军能够去正面作战,相信以你们的战斗力也能够把日本鬼子牵制住。坐在阎锡山对面的,正是温文尔雅的周总理功绩排名前十的中国帝王,看看你知道几个?1秦始皇嬴政,首当其冲。统一天下统一货币,度量衡,文字等,建立了第一个大一统的国家政权,居功至伟。2唐太宗李世民,自他之前,皇帝通常以尧舜禹为标杆,而自他之后,历代帝王大多以他为标获得诺贝尔最多的国家排行榜诺贝尔在1895年11月27日写下遗嘱,捐献全部财产3122万余瑞典克朗设立基金,每年把利息作为奖金,授予在物理学化学生理学或医学文学与和平领域内一年来对人类作出最大贡献的人。根据