有空就来做两道前端面试题题,你就是下一个大佬~

Posted Dian'C

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有空就来做两道前端面试题题,你就是下一个大佬~ 相关的知识,希望对你有一定的参考价值。

来自专栏《前端面试题》

前言

❤️ 作者主页:https://hongweblog.blog.csdn.net/

❤️ 简介:没有什么远大的理想,做自己喜欢的事情就好~

❤️ 扫码关注微信公众号: >>> Dianc小助手 <<<

❤️ 前端学习路线图、面试刷题、二次元壁纸珍藏,Dianc小助手后续会持续完善。

❤️ 大家的积极参与和讨论,是Dianc推送更多优质内容的动力~

前言:
题目来源于腾讯课堂的渡一教育的题目9-21-22。

为了方便做题,不会像之前那样直接放图片,这次我会把源码发出来(如果不是选择题,我会直接放出答案),小伙伴们如果做不出可以先试着输出一下,如果不懂可以看看我自己总结的解题思路。

第一题

说出下列的执行结果,并解释原因

源码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var fullName = 'a';
        var obj = {
            fullName: 'b',
            prop: {
                fullName: 'c',
                getFullName: function() {
                    return this.fullName;
                }
            }
        }

        console.log(obj.prop.getFullName());
        var test = obj.prop.getFullName;
        console.log(test());
    </script>
</body>

</html>

解题思路

首先这题考察this的指向,那么我们看清楚第一次控制台输出的时候函数是直接对象执行,所以第一次输出的fullName应该指向父级prop的fullName,即c。
第二次并不是直接使用对象执行函数,所以应该翻译成window.test();那么全局的fullName即是a,所以答案就出来了。

第二题

说出下列的执行结果,并解释原因

源码:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        var foo = {
            bar: function() {
                return this.baz;
            },
            baz: 1
        }
        console.log(typeof(f = foo.bar)());
    </script>
</body>

</html>

解题思路

首先我们需要知道输出的时候后面有(),说明要执行函数,此时我们发现f其实是全局的,所以调用起来应该是window.f(),那么foo.bar的this应该就指向window,往上找不到bar的属性,所以应该输出undefined。


来自《往期优质文章》

热门文章推荐:

🥇 这样配置学习VSCode,写前端代码想不快都难(❤️精心准备多动图,建议收藏噢~❤️)
🥈 还不会搭建个人博客?手把手教你用Wordpress搭建只属于你的世界~
🥉 Hexo的准备工作(手把手教你搭建Node.js/Git环境)

以上是关于有空就来做两道前端面试题题,你就是下一个大佬~ 的主要内容,如果未能解决你的问题,请参考以下文章

有空就来刷几道5G面试题系列 | 语音篇

有空就来刷几道5G面试题系列 | 4G基础篇

有空就来刷几道5G面试题系列 | 5G架构篇

有空就来刷几道5G面试题系列 | QoS篇

有空就来刷几道5G面试题系列 | 安全(最新更新11月17日,持续更新中)

有空就来刷几道5G面试题系列 | 5G移动性管理(最新更新11月9日,持续更新中)