• TypeScript知识点

    访问修饰符有哪些?public:公共的。类的所有成员,其子类以及该类的实例都可以访问; protected: 受保护的。该类及其子类的所有成员都可以访问它们。 但是该类的==实例无法访问==。 priva...
  • TypeScript进阶

    类型别名类型别名用来给一个类型起个新名字。 12345678910type Name = string;type NameResolver = () => string;type NameOrResolver = Name | NameRe...
  • TypeScript基础

    一、原始类型:avaScript 的类型分为两种:原始数据类型(Primitive data types)和对象类型(Object types)。 原始数据类型包括:布尔值、数值、字符串、null、undefined 以及 ES6 中的新类型 S...
  • 重写与this有关的方法和关键字

    call/apply/bind/typeof/new/instanceof 的实现1.call/apply/bind方法的调用:12345678// callfn.call(...
  • 数组方法重写

    forEach12345678Array.prototype.myEach = function (fn) { var arr = this; var obj = arguments[1] || window; for (let...
  • 路由原理

    路由原理hash路由(核心api:hashchange事件)利用a标签,并阻止默认事件。通过hashchange事件监听hash值的变化,替换掉目标区域的html内容 123456789<h1>hash 路由</h1>&l...
  • 函数柯里化

    实现add(1)(2)(3) ==6 && add(1, 2, 3) == 6利用 toString() 或 valueOf() 123456789101112131415161718f...
  • 函数防抖和节流

    函数防抖 节流或是防抖:限制函数的执行次数 概念节流(throttle):减少一段时间的触发频率 防抖(debounce):通过setTimeout 的方式,在一定的时间间隔内,将多次触发变成一次触发 应用场景节流:滚动加载更多、搜索框搜的索联...
  • 对象拷贝

    浅拷贝1.es3写法123456let originObj = {};let cloneObj = {};for(const key in originObj) { cloneObj[key] ...
  • 垃圾回收机制

    项目中,如果存在大量不被释放的内存(堆/栈/上下文),页面性能会变得很慢。当某些代码操作不能被合理释放,就会造成内存泄漏。我们尽可能减少使用闭包,因为它会消耗内存。 浏览器垃圾回收机制/内存回收机制: 浏览...