放肆青春的博客
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)

放肆青春

一个前端菜鸟的技术成长之路
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)
  • 前端

    • 前端 概览
    • 前端汇总

    • front 博文

    • front 项目总结

    • front 高级

    • front tools

  • vue

    • vue 概览
    • vue 汇总

    • vue 博文

    • vue 项目总结

    • vue 高级

  • html

    • html 概览
    • html 汇总

    • html 博文

  • css

    • css 概览
    • css 汇总

    • css 博文

    • sass

    • less

  • js

    • javascript 概览
      • javascript 概览
        • JS 高级知识点
        • js 概念
    • JS 汇总

    • ES6

    • JS 博文

    • JS 工具

  • node

    • node 概览
    • node 汇总

    • node 框架

    • node 博文

  • react

    • react 概览
    • react 汇总

    • react 博文

    • react 高级

  • 微信小程序

    • 微信小程序 概览
    • 微信小程序总结
    • 微信小程序文章
    • 微信小程序 博文

    • 微信小程序 高级

  • 微信公众号

    • 微信公众号 概览
    • 微信公众号总结
    • 微信公众号文章
  • 多端开发

    • 多端开发
    • dsbridge 概览
    • jsbridge 概览
    • webview
    • uniapp

      • uniapp 概览
    • taro

      • taro 概览
    • flutter

      • flutter 概览
      • flutter 环境搭建
    • electron

      • electron 概览
  • front
放肆青春
2020-07-09

javascript 概览

# javascript 概览

# JS 高级知识点

  • 高阶函数(柯里化、偏应用、组合和管道) https://www.cnblogs.com/chenwenhao/p/11708105.html (opens new window)

  • 内存泄漏,内存溢出

  • 闭包

  • 函数声明、函数表达式、匿名函数

  • IIFE (立即调用的函数表达式)

  • 事件循环(宏任务,微任务),事件委托(delegate),事件冒泡,事件捕获,事件流

  • Web Worker

  • 原型及原型链,原型继承

  • 作用域,作用域链,执行上下文,this,apply,call,bind

  • new 原理 https://segmentfault.com/a/1190000021813437 (opens new window)

  • JS 自定义事件及执行

  • JS 解析过程

  • JS 运行机制

  • JS 垃圾回收

  • JS 动画 requestAnimationFrame

  • JS 设计原则,设计模式 https://www.cnblogs.com/imwtr/p/9451129.html (opens new window)

  • JS 节流,防抖,深拷贝,排序

# js 概念

  • 堆里存放着一些对象。而栈中则存放着一些基础类型变量以及对象的指针

  • js 内存模型 调用栈(Call Stack):用于主线程任务的执行。
    堆(Heap):用于存放非结构数据,如程序分配的变量和对象。
    任务队列(Queue): 用于存放异步任务。

  • 任务:

    宏任务(macro)task 主要包含:
    script( 整体代码)、
    setTimeout、
    setInterval、
    I/O、UI 交互事件、
    setImmediate(Node.js 环境)

    微任务 microtask 主要包含:
    Promise 的 then 或 catch,
    Object.observer,
    MutationObserver.
    process.nextTick(Node.js 环境)

  • 事件驱动,就是将一切抽象为事件

  • 消息队列: 消息队列是一个先进先出的队列,里面放着各种各样的消息;

  • 事件循环: 事件循环是指主线程重复从消息队列中取消息,执行的过程。

  • 事件流分为三个阶段,捕获阶段、目标阶段、冒泡阶段。

  • for 循环中使用 return 会报错,forEach 中使用 return 不会报错,但 rerutn 并不会生效

  • 哪个对象调用函数,函数里面的 this 指向哪个对象

  • Event Loop(事件循环)是 JavaScript 的执行机制。

  • JavaScript 是一门单线程语言。

  • 事件委托 是通过事件冒泡的原理,利用父级去触发子级的事件。

  • 函数的柯里化,柯里化是把一个多参数函数转换为一个嵌套的一元函数的过程。

是 Javascript 中函数式编程的一个重要概念。它返回的,是一个函数的函数。 其实现方式,需要依赖参数以及递归,通过拆分参数的方式,来调用一个多参数的函数方法,以达到减少代码冗余,增加可读性的目的。

  • 高阶函数是一个接收函数作为参数或者将函数作为返回输出的函数

  • 函数提升优先级比变量提升要高,且不会被变量声明覆盖,但是会被变量赋值覆盖。

更新时间: 9/29/2021, 2:54:21 PM
less 编译
js 总结

← less 编译 js 总结→

最近更新
01
前端权限管理
02-24
02
vue2指令
02-24
03
vue2 hook
02-24
更多文章>
Theme by Vdoing | Copyright © 2019-2022 放肆青春
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式