zoukankan      html  css  js  c++  java
  • web面试(一)Javascript

    怎样理解原型、原型链?

    每个对象都会在其内部初始化一个属性,就是prototype(原型),当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么他就会去prototype里找这个属性,这个prototype又会有自己的prototype,于是就这样一直找下去,也就是我们平时所说的原型链的概念。关系:obj.constructor.prototype = obj.__proto__ ,特点: JavaScript对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与之相关的对象也会继承这一改变。

    js的面向对象编程特性,以及继承方式有哪些?

    什么是防抖与节流,分别的作用,怎么实现?

    防抖指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。

    所谓节流,就是指连续触发事件但是在 n 秒中只执行一次函数。节流会稀释函数的执行频率,对于节流,一般有两种方式可以实现,分别是时间戳版和定时器版。

    什么是高阶函数、纯函数?

    高阶函数:是对其他函数进行操作的函数,可以将它们作为参数或返回它们。简单来说,高阶函数是一个函数,它接受函数作为参数或函数作为输出返回。

    JS中内置了一些常用的高阶函数,例如:Array.prototype.map,Array.prototype.filter和Array.prototype.reduce等等。

    例如:使用Array的sort函数,sort接收一个函数作为参数。实现为数组arr排序。

    纯函数:简单来说,满足下面两个条件就称为纯函数,

    1. 一个函数的返回结果只依赖于它的参数
    2. 函数在执行过程里面没有任何副作用【不会造成外部变量的改变】

    var、let、const的区别。

    var是ES5提出的,let和const是ES6提出的。

    const声明的是常量,必须赋值

      1)一旦声明必须赋值,不能使用null占位。

      2)声明后不能再修改

      3)如果声明的是复合类型数据,可以修改其属性

    let和var声明的是变量,声明之后可以更改,声明时可以不赋值

    var允许重复声明变量,后一个变量会覆盖前一个变量。let和const在同一作用域不允许重复声明变量,会报错。

    var声明的变量存在变量提升(将变量提升到当前作用域的顶部)。即变量可以在声明之前调用,值为undefined。

    let和const不存在变量提升。即它们所声明的变量一定要在声明后使用,否则报ReferenceError错。

    var不存在块级作用域。let和const存在块级作用域。

    ES5中作用域有:全局作用域、函数作用域。没有块作用域的概念。

    ES6(简称ES6)中新增了块级作用域。块作用域由 { } 包括,if语句和for语句里面的{ }也属于块作用域。

    defer与async的区别如下:

    • 相同点: 异步加载 (fetch),都只适用于外部脚本文件
    • 不同点:

        async 加载(fetch)完成后立即执行 (execution);

        defer 加载(fetch)完成后延迟到 DOM 解析完成后才会执行(execution)**,但会在事件 DomContentLoaded 之前

        async执行没有顺序,defer有顺序

     

  • 相关阅读:
    笔记35 跨重定向请求传递数
    判断邮箱的正则表达式
    按钮
    async await 的用法
    笔记34 Spring MVC的高级技术——处理multipart形式的数据
    Convert Sorted Array to Binary Search Tree
    Binary Tree Zigzag Level Order Traversal
    Unique Binary Search Trees,Unique Binary Search Trees II
    Validate Binary Search Tree
    Populating Next Right Pointers in Each Node,Populating Next Right Pointers in Each Node II
  • 原文地址:https://www.cnblogs.com/kunmomo/p/15129223.html
Copyright © 2011-2022 走看看