美文网首页
【JS】那些巨坑的的面试题二

【JS】那些巨坑的的面试题二

作者: 李李李李李晓华 | 来源:发表于2019-03-24 00:35 被阅读0次
一、前言

不知道上一篇的几个面试题大家做的怎么样了~
感觉如何?是不是很坑。
但是其实这些奇葩的面试题往往考的都是你的基础知识掌握的如何~
一旦基础知识掌握的很好,那么这些面试题都是小case了啊!!!


小case滴啦~
二、关于 for 循环的面试题

你认为这个应该打印出来什么结果呢?why?

for (var i = 0,j = 0; i < 4,j < 7; i++,j++) {
    console.log(i);
}
三、关于this的面试题
    function fn1() {
        console.log(this);
    }
    var arr=['a','b'];
    arr.a=fn1;
    arr.a();
    setTimeout(arr.a,1000);
四、关于this的面试题
   var myObject={
        foo:"abc",
        fun:function (){
            var self=this;
            alert(this.foo);
            alert(self.foo);
            (function (){
                alert(this.foo);
                alert(self.foo);
            }());
        }
    }
    myObject.fun();

老规矩: 停-------再翻就看到答案了,先做出答案再看解析


我不看我不看
五、答案解析
1) 第一题

答案:打印0,1,2,3,4,5,6
这个题关键点,就在for循环中定义了两个变量,还有两个判断。
那到底那一次的判断才算数呀?
其实这个题考的不是 for循环,而是考 逗号操作符

  • 逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n
  • 小案例: var a=(1,2,3); 这个代码执行后 a=?

答案是 a=3。
逗号操作符的优先级别在所有运算符中是最低的,结合方向是"自左至右"的。
如果遇到逗号操作符,说明当前的语句并没有执行结束。

  • 所以在这道面试题中,i<4,j<7,这句话会执行到j<7结束。
  • 接下来你可互换一下i<4,j<7,变成j<7,i<4尝试一下结果验证一下。
2)第二题

答案:第一句弹出 数组arr,第二句弹出 window对象

  • 函数 fn1 被复制给arr的属性a上,函数变成了arr的a方法。
  • 后边arr调用了自己的方法a,所以a方法的this指向arr
  • 计时器中,是借用了arr的a方法,并不是arr调用的。而是延迟1s后直接调用的,那是谁呢?window 啊。
3)第三题

答案:“abc”,“abc”,undefined,“abc”

  • 这道题考的还是关于this的执行。
  • 因为this在不用的环境下是会改变指向的。
  • 变量self保存的当前的this,所有在能调用self的地方。使用的都是self当时保存的this。
  • 前两个self和this相等,所以都打印"abc"
  • 而在fun函数中的匿名函数自调用的函数中 this指向的是window。而
    self还是之前保存的this。所以一个打印"abc",一个打印window对象

拜拜~

相关文章

  • 【JS】那些巨坑的的面试题二

    一、前言 不知道上一篇的几个面试题大家做的怎么样了~感觉如何?是不是很坑。但是其实这些奇葩的面试题往往考的都是你的...

  • 【JS】那些巨坑的面试题一

    最近工作的事情特别多,并且还要准备一个长期出差。。所以最近几天先更一些面试题吧~出差具体多长??就是 北京总部已经...

  • js基础面试题

    面试题:延迟加载JS有哪些方式? 面试题:JS数据类型有哪些? 面试题:JS数据类型考题 考题一: 考题二: 面试...

  • 一道坑爹的面试题

    网上看到一道坑爹的面试题,代码如下:(js真是处处是坑呀。。。(┬_┬)) 输出结果(chrome下): 作为前端...

  • 跳进的那些js坑

    1、多行注释 如上,正则表达式里的*/结尾的部分,将多行注释已经给结束掉,当然报错啦 2、变量提升机制 原因:当函...

  • 前端相关大杂烩

    前端基础面试题(JS部分) 前端基础面试题(JS部分)学习 React.js 比你想象的要简单 原文地址:Lear...

  • 被指导的市场

    目录 1. 新区巨坑 2. Z君买雄安 3. 散户注意事项 4. 被指导的市场 5. 上证的第二条腿 新区巨坑 很...

  • JS异步那些事 一 (基础知识)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JS异步那些事 三 (Promise)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

  • JS异步那些事 四(HTML 5 Web Workers)

    JS异步那些事 一 (基础知识)JS异步那些事 二 (分布式事件)JS异步那些事 三 (Promise)JS异步那...

网友评论

      本文标题:【JS】那些巨坑的的面试题二

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