分类: javascript

javascript

47 篇文章

promise 专题
promise 基本概念 promise 是一个构造函数, 必须传一个 executor 执行器executor 会立刻执行,并传入 resolve 和 reject 参数promise 三种状态: fulfilled成功 reject 失败 pending等待可以通过 resolve 和 reject 来改变状态, 同时调用对应的回调一个 pro…
浏览器渲染机制和CRP优化
浏览器基础知识 通过浏览器访问页面,首先浏览器会请求回来一个HTML文档,然后自上而下开始渲染,这里面就包括进程和线程的基本概念 进程: 指一个程序 ( 浏览器打开一个页面,就相当于开一个进行 )线程: 进程中具体执行事物的东西,一个线程同时只能做一件事同步编程: 一般是指一个线程去处理任务,上面的任务处理不完,下面的任务就无法处理异步编程:多线程…
JS 数据类型检查原理
数据类型检测的方法 typeof : 返回一个字符包含对应的数字类型typeof 只能检测原始的数据类型typeof null 会返回 objecttypeof new Number(0) 会返回 object let arr = [];typeof arr // objecttypeof "123" // string typeof ne…
JS运行原理和垃圾回收机制
JS运行原理 名词介绍 堆:heap栈:stack执行环境栈作用:供代码执行上下文:ECEC(G):全局执行上下文目的:区别代码执行环境全局代码都在全局上文中执行全局对象:GO存储浏览器内置API浏览器(window);node中(global)变量对象 VO、AOVO(G) 变量对象存储当前上下文声明的变量 赋值的执行过程 创建一个值原始值:存在…
数据类型及隐式转换原理
数据类型 了解 JS 的小伙伴 ES6 开始 新增了两个基本类型,即改变为 “五基两空一对象” 基础类型string、number、boolean、null、undefined、symbol、bigint对象类型Object对象Array、RegExp、Date、Error、Math、ArrayBuffer..... 除了 symbol 和 big…
虚拟DOM 和 diff 算法
虚拟DOM 用JS对象描述DOM的层次结构,DOM中的一切属性都在虚拟DOM中有对应的属性 优点 可以减少DOM操作。虚拟DOM可以将多次操作合并成一次操作,并且借助DIFF算法把多余的操作省掉跨平台。虚拟DOM不仅可以变成DOM,还可变成小程序、ios、安卓应用,因为他本质是一个JS对象 如下:sanbbdom的虚拟DOM样式 (sanbbdom…
手写 Promise
Promise是一个对象,保存着未来将要结束的事件,他有两个特征: 对象的状态不受内部影响,Promise对象代表一个异步操作,有三种状态,pending进行中,fulfilled已成功,rejected以失败,只有异步操作的结果,才可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。一旦状态改变,就不会在变,promise对象状态改变只有两…
手写EventBus
EventBus 又叫做 事件总线传值 ,本质是观察者模式的实现, 观察者模式就是 定义了对象间的一种一对多的关系,让多个观察这对象同事监听某一个主题对象,当一个对象发生改变时,所有依赖于他的对象将得到通知 他在 Node 中的使用,on 是用来监听事件 , emit 是用来触发事件 , 一旦emit触发了事件,on就会被监听到,从而触发回调。 c…
手写sleep函数
sleep 顾名思义 睡眠函数,他的作用是让下面的代码延迟一会在执行,效果等同于setTimeout函数,但是 setTimeout 在逐步延迟的使用中会出现回调地狱的情况。代码如下 setTimeout(()=>{  console.log("第一次打印")  setTimeout(()=>{   &nb…
JS类型判断
typeof() 类型检查只支持 基本数据类型 + undefined + function console.log(typeof 1) // numberconsole.log(typeof true) // booleanconsole.log(typeof "str") // stringconsole.log(typeof undefine…