美文网首页
秋招笔记

秋招笔记

作者: 酥枫 | 来源:发表于2018-10-14 13:12 被阅读0次
  • script标签中的deferasync属性
  • 逻辑与和逻辑或的一些特殊行为:
    • 逻辑与&&
      • 如果第一个操作数是对象,则返回第二个操作数
      • 如果第二个操作数是对象,那么只有在第一个操作数的求值结果为true的情况下才会返回第二个操作数
      • 如果两个操作数都是对象,那么返回第二个操作数
      • 如果第一个操作数是null、NaN、undefined,那么返回null、NaN、undefined
    • 逻辑或||
      • 如果第一个操作数是对象,那么返回第一个操作数
      • 如果第一个操作数的求值结果是false,那么返回第二个操作数
      • 如果两个操作数都是对象,那么返回第一个操作数
      • 如果两个操作数都是null、NaN、undefined,那么返回null、NaN、undefined
  • =====操作符的区别
  • 被废弃的语法:withevalargumentscalleecaller
    • with
    • eval
    • arguments不是一个数组Array的实例,是一个ArrayLike,即含有length属性,同时键(key)的名字是数字的对象。
  • JavaScript中函数的参数都是按值传递的,这句话放到对象上应该这么理解,比如说给函数传递对象obj1,函数内部拿到的是obj1这个对象引用的复制,就是说复制了一个指针同时指向obj1指向的对象,在内部改变这个对象引用上的指向,不会改变外部obj1的指向。
  • typeof操作符和instanceof操作符
  • 垃圾收集机制:
    • 标记清除法
    • 引用计数法
  • Array的sort函数接收的比较函数接受v1和v2,如果想让v1位于v2前面,那么就返回负数,如果想要v1位于v2后面,那么就返回一个正数,简而言之,如果想要从小到大排序,就返回v1-v2,如果想要从大到小排序,就返回v2-v1
  • 正则表达式
  • 为什么JavaScript中的函数没有重载,因为没有函数签名,所有参数都是作为一个arguments数组传进去的。从另一个角度解释,可以解释为,JavaScript中函数名仅仅是指向函数的一个指针,声明同名函数,会导致后面声明的函数覆盖前面的函数,其实就是将这个指针重新赋值了。
  • 函数的length属性表示函数希望接受的命名参数的个数。
  • apply和call
    • apply接收参数数组
    • call接收逐个列举出来的参数
  • exectest是RegExp的实例方法,matchsearch是字符串实例的方法
  • URI和URL
  • 创建对象的几种方式:
    1. 工厂模式
      function createPerson(name,age){
          let o=new Object();
          o.name=name;
          o.age=age;
          o.sayName=function(){
              // ...
          }
          return o;
      }
      let person1=createPerson("xiaoming",20);
      
      缺点:无法判断创建出来的对象的类型。
    2. 构造函数模式
      function Person(name,age){
          this.name=name;
          this.age=age;
          this.sayName=function(){
              // ...
          }
      }
      let person1=new Person("xiaoming",20);
      let person2=new Person("xiaohong",20);
      
      缺点:每个方法都要在实例上创建一遍,但方法是作用是一样的,导致浪费资源

      注:new关键字主要做了以下四个工作

      • 创建一个新对象
      • 将构造函数的作用域赋值给新对象,也就是将构造函数的this绑定到这个新对象
      • 执行构造函数中的代码
      • 返回新对象
    3. 原型模式
      function Person(){
      }
      Person.prototype.name="xiaoming";
      Person.prototype.age=20;
      Person.prototype.sayName=function(){
          // ...
      }
      let person1=new Person();
      let person2=new Person();
      
      缺点:这个虽然解决了构造函数的问题
  • js中几种跨域的实现方法
  • 函数防抖和函数节流
  • 前端模拟排序动画
  • 浏览器渲染的重绘与重排
  • 强缓存和协商缓存
  • 一文读懂前端缓存
  • 从输入URL到页面展示到底发生了什么-很详细,除了省略了浏览器缓存这一步
  • 从输入URL到页面显示-详细1
  • 从输入URL到页面显示-详细2
  • CSS三栏布局的五种实现方式_左右固定中间自适应
  • CSS画三角形及其原理
  • 实现一个模板引擎
  • dragstart,drag,dragend,dragenter,dragover,dragleave/drop事件
  • 移动端H5页面适配
  • 前端提升页面加载速度
  • cookie、localStorage、sessionStorage
  • localStorage的属性与方法
  • 判断两个链表有没有交点
  • 复习eventloop,面试官说细节不对
  • 设计模式
  • 快速排序
  • 各种排序算法的时间复杂度和稳定性
  • promise原理
  • 面试图谱

相关文章

  • 秋招笔记

    script标签中的defer和async属性 逻辑与和逻辑或的一些特殊行为:逻辑与&&如果第一个操作数是对象,则...

  • 秋招笔记

    秋招已经开始,迷迷糊糊的我也已经开始了自己的求职之旅。作为2022届的毕业生,从今天起,我也要认真记录自己的求职的...

  • 秋招笔记1

    就像那句话,"幸福的家庭都是类似的,不幸的家庭却各有各的不幸",面试也一样,成功的经验都是类似的,失败的原因却各不...

  • 985、211高校的校园招聘中实习,春招,秋招是怎么样的?

    校园招聘包括「春招+秋招」 一般的企业校园招聘有两种:一种是即做春招也做秋招;另一种是只做秋招。 秋招: 秋招的时...

  • 毕业两个月被炒:找工作遇到创业公司,不能瞎

    最近是秋招季,但不属于我的秋招。去年的秋招,我也挣扎得很辛苦,错过了秋招的启动阶段,春招也没有大公司的尾班车。 在...

  • 【备战春招/秋招系列】初出茅庐的程序员该如何准备面试?

    备战春招/秋招系列文章回顾: 【备战春招/秋招系列】程序员的简历就该这样写 这是【备战春招/秋招系列】的第二篇文章...

  • 春招

    秋招和春招是什么 9月10月份是秋招,2月4月份是春招,错过了秋招据说春招很难 当然也有人这样说: 春招应该怎么做...

  • 简介

    秋招就拿了华为的offer,真的很菜,每天记录牛客上一篇面经,做个笔记。

  • Vivo、华为优招...秋招都开始了!这件事,你还没做吗?

    上周 Vivo、华为海思秋招开始 昨天华为秋招、优招轮启动 秋招越来越近 大家渐渐开始有了一种 “我应该开始准备秋...

  • 2018-10-21

    春招好好准备,秋招如鱼得水。

网友评论

      本文标题:秋招笔记

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