# JS 原生拖拽节点

给需要拖拽的节点绑定 mousedown ,mousemove ,mouseup 事件。 mousedown 事件触发后,开始拖拽。 mousemove 时,需要通过 event.clientX 和 clientY 获取拖拽位置,并实时更新位置。 mouseup 时,拖拽结束。 需要注意浏览器边界值,设置拖拽范围。

# ES6/ES7 和 AJA

  1. ES6/ES7 核心知识
  2. AJAX/HTTP 前后端交互

JS 是一种多范式的动态语言,它包含类型、运算符、标准内置( built-in)对象和方法。通过原型链而不是类来支持面向对象编程。

什么是多范式?

编程范式 (Programming paradigm) 其实就是计算机编程所使用的方法,是设计程序结构所采用的设计风格。目前主流的编程范式有:命令式编程 (Imperative programming)、函数式编程 (Functional programming)、面向对象编程 (Object-oriented programming) 等。 Thinking80s - 知乎 (opens new window)

# 垃圾回收机制

概念

JavaScript 代码运行时,需要分配内存空间来储存变量和值,当变量不在参与运行时,就需要系统收回被占用的内存空间,这就是垃圾回收。

Javascript 具有自动垃圾回收机制,会定期对那些不再使用的变量 对象所占用的内存进行释放,原理就是找到不再使用的变量,然后释放掉其占用的内存。

回收方式

  1. 标记清除
    • 当变量进入执行环境时,就标记这个变量“进入环境”,被标记为“进入环境”的变量是不能被回收的,因为他们正在被使用。当变量离开环境时,就会被标记为“离开环境”,被标记为“离开环境”的变量会被内存释放。
    • 垃圾收集器在运行的时候会给存储在内存中的所有变量都加上标记。然后,它会去掉环境中的变量以及被环境中的变量引用的标记。而在此之后再被加上标记的变量将被视为准备删除的变量,原因是环境中的变量已经无法访问到这些变量了。最后。垃圾收集器完成内存清除工作,销毁那些带标记的值,并回收他们所占用的内存空间。
  2. 引用计数
    • 另外一种垃圾回收机制就是引用计数,这个用的相对较少。引用计数就是跟踪记录每个值被引用的次数。当声明了一个变量并将一个引用类型赋值给该变量时,则这个值的引用次数就是 1。相反,如果包含对这个值引用的变量又取得了另外一个值,则这个值的引用次数就减 1。当这个引用次数变为 0 时,说明这个变量已经没有价值,因此,在在机回收期下次再运行时,这个变量所占有的内存空间就会被释放出来。
    • 这种方法会引起循环引用的问题:例如: obj1 和 obj2 通过属性进行相互引用,两个对象的引用次数都是 2。当使用循环计数时,由于函数执行完后,两个对象都离开作用域,函数执行结束,obj1 和 obj2 还将会继续存在,因此它们的引用次数永远不会是 0,就会引起循环引用。

# SDK 和 API

  • SDK:软件开发工具包,全称 Software Development Kit。辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做 SDK。
  • API:程序编程接口,全称 Application Programming Interface。本质是预先定义的函数,用来让其他程序调用自身的一些功能。

类比:

  • 有一杯密封饮料,饮料就叫 SDK
  • 饮料上插着吸管,吸管就叫 API
  • 如果你想喝到饮料,你必须通过这根吸管来实现,
  • 想让系统拥有 SDK 中的功能,通过 API 连接你的系统和 SDK。

# JS-SDK

上次更新: 5/15/2022, 6:53:35 PM