- 博客(15)
- 收藏
- 关注
原创 jS-事件循环机制(宏任务与微任务)
事件循环机制 每一个JavaScript程序都拥有唯一的事件循环,大多数代码的执行顺序是可以根据函数调用栈的规则执行的,而setTimeout/setInterval或者不同的事件绑定(click、mousedown等)中的代码,则通过队列来执行。 setTimeout为任务源,由它们将不同的任务分发到不同的任务队列中,每一个任务源都有对应的任务队列。 任务队列分为宏任务(macro-task)与微任务(micro-task): macro-task:script(整体代码)、setTimeout/set
2021-04-26 19:36:26 279
原创 笔记-Promise
PromisePromise基础知识利用Promise封装get请求的方法Promise.allPromise.raceasync、await 在Ajax中,需要多个Ajax请求时,新的Ajax请求必须从上一个Ajax请求中获取,这时我们需要不停的嵌套函数,如下: var url="..."; var result; var XHR=new XMLHttpRequest(); XHR.open("GET",url,true); XHR.send(); XHR.onreadystatechange=funct
2021-04-26 19:01:05 180
原创 笔记-javascript(四)
笔记 javascript 面向对象对象创建与访问构造函数与原型原型链实例方法、原型方法、静态方法继承属性类型 对象创建与访问 new关键词创建对象 var obj=new Object(); 字面量形式 var obj={}; 对象 构造函数与原型 原型链 实例方法、原型方法、静态方法 继承 属性类型 ...
2021-04-25 13:39:29 75
原创 算法导论读书笔记-链表
链表 链表是一种数据结构,其各对象按线性时间排列,链表的顺序是由各个对象里的指针决定的。数组的线性顺序由数组的下标决定。 双向链表L的每个元素都是一个对象,每个对象有一个关键词key和两个指针:next和prev。设x是链表的一个元素,x.next指向它的后继元素,x.prev指向它的前驱元素。x.prev=NIL,元素x没有前驱,是链表的第一个元素,即元素的头(head);x.next=NIL,元素x没有后继,是链表的最后一个元素,即元素的尾(tail)。属性L.head指向链表的第一个元素,L.head
2021-04-24 20:58:09 235
原创 算法导论读书笔记-散列表
散列表 直接寻址表 当关键字的全域U比较小时,直接寻址是一种简单而有效的技术。如果储存空间允许,我们可以提供一个数组,为每个可能的关键字保留一个位置,以利用直接寻址的优势。 假设某应用要用到一个动态集合,其中每个元素都是取自全域U={0,1,…,m-1}中的一个关键字,这里m不是一个很大的数。另外,假设没有两个元素具有相同的关键字。 为表示动态集合,我们用一个数组,或称为直接寻址表,记为T[0…m-1].其中每个位置,称为槽,对应全域U中的一个关键字。槽k指向集合中一个关键字为k的元素,如果该集合中没有关键
2021-04-24 20:57:25 80
原创 笔记-JS 执行上下文
笔记-JS 执行上下文生命周期创建阶段执行阶段 Javascript代码在执行时,会进入一个执行上下文中,执行上下文可以理解为当前代码的执行环境。 Javascript中的运行环境主要包括以下三种情况: 全局环境:代码运行起来后会首先进入全局环境 函数环境:当函数被调用执行时,会进入当前环境中执行代码 eval环境:不建议使用 可以预见的是,在一个Javascript程序中,必定会出现多个执行上下文,此时Javscript引擎会以函数调用栈的方式来处理它们。函数调用栈规定了Javascript代码的执行
2021-04-24 20:55:55 82
原创 笔记-javascript(三)
笔记 javascript 函数函数函数声明函数表达式匿名函数自执行函数一个简单的状态管理模块(续)函数式编程函数是"一等公民"纯函数(续)高阶函数(续)柯里化(续) 函数 函数声明 利用关键词function声明一个函数,在变量的创建过程中,function声明的函数比var声明的变量执行顺序具有更高的优先级。 函数表达式 函数表达式即将一个函数体赋值给一个变量的过程。 var fn=function(){}; //等价于 var fn=undefined; fn=function(){}; 因此,使用
2021-04-24 19:08:13 61
原创 笔记-JS 变量(typeof与instanceof、==与===等)
笔记-JS 变量变量类型值类型引用类型typeof运算符typeof与instanceof的区别字符串拼写"==="与"= ="区别运算符js中的内置对象JSON理解 变量类型 值类型 var a=100; var b=a; a=200; console.log(b); //100 var a=100; a=200; var b=a; console.log(b); //200 引用类型 var a={age:20}' var b=a; b.age=21; console.log(a.age); //2
2021-04-11 22:57:47 67
原创 笔记-JS 闭包
闭包 函数可以访问函数内部的变量 function myFunction(){ var a=4; return a; } 函数也可以访问函数外部的变量 var a=4; function myFunction(){ return a; } javascript查找变量即变量解析的过程,首先在当前定义的局部作用域中查找,如果未发现,就会查找上一层作用域。如下,变量scope被定义为outer函数的局部变量,而inner函数定义时即确定了其作用域,并引用了外部函数的局部变量scope,所以输出结果为2
2021-04-09 19:18:16 57
原创 笔记-JS this指向
this指向 哪个对象调用函数,函数里面的this指向哪个对象。 普通函数调用 var name="tiger"; function Animal(){ var name="cat"; console.log(this.name); } Animal(); //输出结果:tiger
2021-04-09 19:15:57 92
原创 笔记-javascript(二)
笔记-javascript数值数字方法数组创建数组遍历数组添加数组元素数组识别数组方法pop()和push()位移元素删除元素拼接数组合并数组裁剪数组数组排序Math.max()和Math.min()函数数组迭代方法 数值 非数字字符串除法 console.log(100/"apple"); //NaN 字符串包函数值 console.log(100/"10"); //10 console.log(1+NaN); //NaN 数字方法 方法 说明 toString() 以字符串返回数值
2021-04-08 21:35:14 55
原创 笔记-javascript(一)
面试笔记-javascript关于javascript字符串变量数据类型window的属性和方法节点访问元素节点节点的关系节点创建、移除和克隆保留字和关键字 关于javascript Javascript是基于对象的 面向对象的三要素(封装、继承、多态)缺一不可,javascript只实现了封装概念,所以是基于对象的语言。 字符串 方法 说明 length 返回字符串的长度 indexOf() 返回字符串中指定文本首次出现的位置索引(未找到返回-1) lastIndexOf(
2021-04-03 22:31:37 59
原创 栈和队列
栈和队列 栈和队列都是动态集合。在栈中,被删除的是最近插入的元素(后进先出)。在队列中,被删除的是集合中存在时间最长的元素(先进先出)。 栈 栈上的insert操作称为压入(push),delete操作称为(pop)。 可以用一个数组S[1…n]来实现一个最多可以容纳n个元素的栈,该数组有一个属性S.top,指向最新插入的元素。栈中包含的元素为S[1…S.top],其中S[1]是栈底元素,S[S.top]是栈顶元素。 S.top=0时,栈中不包括任何元素,即栈为空。要测试一个栈是否为空可以用查询操作stac
2021-04-02 17:56:41 67
原创 二叉搜索树
二叉搜索树定义二叉树的遍历二叉搜索树的基本操作搜索插入删除最大关键词元素和最小关键词元素后继和前驱算法导论部分题解其他问题平衡二叉搜索树将有序数组转化为二叉搜索树 定义 1.若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值。 2.若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值。 3.任意节点的左、右子树也分别为二叉查找树。 4.没有键值相等的节点。 二叉树的遍历 先序遍历:输出的根的关键词位于左子树的关键字值和右子树的关键字值之前。 //方法一:递归法(一) var
2021-03-30 11:21:26 392 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人