美文网首页程序员
前端经典题目合集

前端经典题目合集

作者: 无人像妳i | 来源:发表于2017-06-27 10:15 被阅读15次

问题1:Scope作用范围

考虑下面的代码:

什么会被打印在控制台上?

回答

上面的代码会打印 5。

这个问题的诀窍是,这里有两个变量声明,但 a 使用关键字var声明的。代表它是一个函数的局部变量。与此相反,b 变成了全局变量。

这个问题的另一个诀窍是,它没有使用严格模式 ('use strict';) 。如果启用了严格模式,代码就会引发ReferenceError的错误:B没有定义(b is not defined)。请记住,严格模式,则需要明确指定,才能实现全局变量声明。比如,你应该写:

问题2:创建“原生”(native)方法

给字符串对象定义一个repeatify功能。当传入一个整数n时,它会返回重复n次字符串的结果。例如:

应打印 hellohellohello。

回答

一个可能的实现如下所示:

现在的问题测试开发者有关JavaScript继承和prototype的知识点。这也验证了开发者是否知道该如何扩展内置对象(尽管这不应该做的)。

这里的另一个要点是,你要知道如何不覆盖可能已经定义的功能。通过测试一下该功能定义之前并不存在:

当你被要求做好JavaScript函数兼容时这种技术特别有用。

问题3:声明提升(Hoisting)

执行这段代码,输出什么结果。

回答

这段代码的结果是 undefined 和 2。

原因是,变量和函数的声明都被提前了(移到了函数的顶部),但变量不分配任何值。因此,在打印变量的时候,它在函数中存在(它被声明了),但它仍然是 undefined 。表示换句话说,上面的代码等同于以下内容:

问题4:this在JavaScript中如何工作的

下面的代码会输出什么结果?给出你的答案。

回答

答案是Aurelio De Rosa和John Doe。原因是,在一个函数中,this的行为,取决于JavaScript函数的调用方式和定义方式,而不仅仅是看它如何被定义的。

在第一个 console.log()调用中,getFullname() 被调用作为obj.prop对象的函数。所以,上下文指的是后者,函数返回该对象的fullname。与此相反,当getFullname()被分配到test变量时,上下文指的是全局对象(window)。这是因为test是被隐式设置为全局对象的属性。出于这个原因,该函数返回window的fullname,即定义在第一行的那个值。

问题5:call() 和 apply()

现在让你解决前一个问题,使最后的console.log() 打印 Aurelio De Rosa。

回答

该问题可以通过强制使用 call() 或者 apply() 改变函数上下文。在下面我将使用call(),但在这种情况下,apply()会输出相同的结果:

总结:对我们来说,每次开发新项目都是一种积累、学习的过程,我们要学会享受这个过程,从日常工作中找寻到对自己有提升的知识点,并消化成为自己工作技能的一部分,努力提高自己,找到自我定位,为公司创造最大收益。在前端的探索道路上,尝试着去了解、学习后端技术,为以后自己的人生路线规划好方向。革命尚未成功,同志仍需努力!共勉!

相关文章

  • 前端经典题目合集

    问题1:Scope作用范围 考虑下面的代码: 什么会被打印在控制台上? 回答 上面的代码会打印 5。 这个问题的诀...

  • JS面试经典题目合集

    1、谈谈Cookie的弊端 缺点: 1)Cookie的数量和长度的限制 每个域的cookie总数有限 a)IE6或...

  • 01-前端面试经典题目合集(HTML+CSS)

    1. 浏览器页面有哪三层构成,分别是什么,作用是什么? 构成:结构层、表示层、行为层 分别是:HTML、CSS、J...

  • 前端基础

    1、http和https 待定 说一下http和https_前端校招面试题目合集_牛客网 (nowcoder....

  • FED之必备技能 - 收藏集 - 掘金

    『收藏』VUE 优秀 UI 组件库合集 - 前端 - 掘金github 开源的 Vue 优秀 UI 组件库合集✔....

  • 前端面试经典题目(css篇)

    1.有哪项方式可以对一个DOM设置它的CSS样式? 外部样式表,引入一个外部css文件 内部样式表,将css代码放...

  • 前端面试经典题目(html篇)

    1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? IE:trident内核 Firefox:geck...

  • 链表题目合集

    23. 合并K个升序链表 给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并...

  • 前端经典面试题合集(一)

    1.谈谈变量提升 考察点:js基础知识,js执行机制,变量的提升答:执行js代码时,会生成执行环境,在函数中的代码...

  • 简书的第一条动态

    作为90后,哪些值得我们留恋的经典电影,节目呢? 《周星驰电影合集》 《成龙电影合集》 《林正英电影合集》 《快乐...

网友评论

    本文标题:前端经典题目合集

    本文链接:https://www.haomeiwen.com/subject/taiscxtx.html