![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
被封三年3
这个作者很懒,什么都没留下…
展开
-
js实现二叉树
二叉树和二叉查找树**二叉树 : **二叉树是一种特殊的树,它的子节点个数不超过两个。二叉树具有一些特殊的计算性质,使得在它们之上的一些操作异常高效。特点:两个子节点,左子节点和右子节点,根节点用来存储数据二叉查找树:是一种特殊的二叉树,相对小的值保存在左节点中,相对大的值保存在右节点中。这一特点使得查找的效率很高。二叉查找树的实现二叉查找树由节点组成,所以我们要定义的第一个对象就是...原创 2019-11-04 10:51:02 · 262 阅读 · 0 评论 -
js实现字典
字典字典是一种以键 - 值对形式存储数据的数据结构JavaScript 的 Object 类就是以字典的形式设计的。本章将使用 Object 类本身的特性,实现一个 Dictionary 类,让这种字典类型的对象使用起来更加简单。你也可以只使用数组和对象来实现本章展示的方法,但是定义一个 Dictionary 类更方便,也更有意思。实现Dictionay 类的基础是 Array 类,而...原创 2019-10-25 16:01:36 · 1611 阅读 · 0 评论 -
js实现链表
链表数组不总是组织数据的最佳数据结构,原因如下。在很多编程语言中,数组的长度是固定的,所以当数组已被数据填满时,再要加入新的元素就会非常困难。在数组中,添加和删除元素也很麻烦,因为需要将数组中的其他元素向前或向后平移,以反映数组刚刚进行了添加或删除操作。然而,JavaScript 的数组并不存在上述问题,因为使用 split() 方法不需要再访问数组中的其他元素了- 。JavaScri...原创 2019-10-25 15:08:01 · 122 阅读 · 0 评论 -
js实现队列
队列队列是一种列表,不同的是队列只能在队尾插入元素,在队首删除元素。可以将队列想象成在银行前排队的人群,排在最前面的人第一个办理业务,新来的人只能在后面排队,直到轮到他们为止。方法push :向队尾插入元素queue :在队首移除元素peek :查看队首的元素属性lenght : 队列的长度...原创 2019-10-24 16:52:36 · 186 阅读 · 0 评论 -
js实现栈
栈栈就是和列表类似的一种数据结构,它可用来解决计算机世界里的很多问题。栈是一种高效的数据结构,因为数据只能在栈顶添加或删除,所以这样的操作很快,而且容易实现。栈的使用遍布程序语言实现的方方面面,从表达式求值到处理函数调用。特点由于栈具有后入先出的特点,所以任何不在栈顶的元素都无法访问。为了得到栈底的元素,必须先拿掉上面的元素。方法对栈的两种主要操作是将一个元素压入栈和将一个元素弹出...原创 2019-10-23 18:46:08 · 100 阅读 · 0 评论 -
js实现列表
列表列表是一种最自然的数据组织方式。上一章已经介绍如何使用 List 类将数据组织成一个列表。如果数据存储的顺序不重要,也不必对数据进行查找,那么列表就是一种再好不过的数据结构。var List = function () { this.pos = 0; this.dateStore = []; this.listSize = 0;}List.prototyp...原创 2019-10-23 16:19:07 · 1256 阅读 · 0 评论 -
js中getTime()返回的具体时间
new Date(new Date(‘2019/10/17’).getTime());使用这种格式的日期将转换为17号的00:00:00new Date(new Date(‘2016-04-12’).getTime());使用这种格式的日期将转换为17号的08:00:00...原创 2019-10-17 10:48:00 · 7496 阅读 · 0 评论 -
js实现类的封装、继承、多态
类每个类都包含三个部分:一:构造函数:供实例化对象用的二:构造函数外的通过点语法添加的:这是供类使用的,实例化对象是访问不到的三:类的原型中的:实例化对象可以通过其原型链进行间接的访问封装1、声明一个类:首先声明一个函数保存在一个变量里,然后在这个函数(类)内部通过this(函数内部自带的一个变量,用于指向当前这个对象)变量添加属性或方法来实现对类添加属性或者方法。new关键字可以...原创 2019-10-11 18:16:46 · 364 阅读 · 0 评论 -
js函数
js中使用prototype来实现方法的原因1、在js中实现方法function one(){ //方法内容}可以如此实现,只不过如此实现的方法,相当于创建了一个新的全局变量。等同于:var one = function(){ //方法内容}如何使自己的方法不声明为全局变量呢?我们需要将方法保存在对象中,只暴露出全局对象,隐藏对象的方法。var oneObj = { ...原创 2019-10-10 15:35:01 · 65 阅读 · 0 评论 -
js中的apply、call、bind的使用
apply、bind、call的作用apply、bind、call是Function对象自带的三个方法,都是为了改变函数体内部this的指向。区别apply()和call()会在调用函数之后立即调用,而bind()方法调用并改变函数运行时上下文后,返回一个新的函数,供我们需要时再调用.bind()和call()指定this的指向的参数后,可加入多个参数。而apply只接收一个数组。...原创 2019-09-02 14:23:18 · 95 阅读 · 0 评论 -
javascript位运算符
位运算符工作于32位的数字上。任何数字操作都将转换为32位。结果会转换为javascript数字& :0101&0001 0001|:0101|0001 0101~:取反 ~0101 1010^:异或 0101 ^ 1010 1111符号 <<:左移 0101<<1 1010符号 >>:右移 ...原创 2019-07-19 15:27:58 · 124 阅读 · 0 评论 -
js中String对象的常用方法
常用方法chartAt():返回指定位置的字符串concat():连接字符串fromCharCode():从Unicode转换为字符串indexOf():返回指定字符在字符串中第一次出现的位置lastIndexOf():返回指定字符在字符串中最后一次出现的位置includes():检查字符串是否包含某个字符slice():提取字符串的片段,并在新的字符串中返回提取的字符串split...原创 2019-07-15 16:00:37 · 216 阅读 · 0 评论 -
js中的位运算
简介数值或字符在内存内都是被存储为0和 1的序列,位运算就是操作这些0和1的位置和个数按位运算的运算符有6个:&按位与| 按位或^ 按位异或~ 取反‘>>’ 右移‘<<’ 左移&运算符&是二元运算符,它以特定的方式的方式组合操作数中对应的位 如果对应的位都为1,那么结果就是1, 如果任意一个位是0 则结果就是0|运算符|与||...原创 2019-06-17 11:24:25 · 91 阅读 · 0 评论 -
js中typeof和instanceof的区别
typeoftypeof是一元运算符,放在一个运算数之前,运算数可以是任意类型。typeof的返回值是一个字符串,该字符串说明运算数的类型typeof的返回值:‘number’,‘string’,‘boolean’,‘object’,‘function’,'undefined’instanceofinstanceof用来测试一个对象在其原型链中是否存在一个构造函数的prototype的属...原创 2019-06-11 11:45:19 · 133 阅读 · 0 评论 -
js的深克隆和浅克隆
克隆的概念深克隆所有元素或属性完全复制,与原对象完全脱离,也就是说所有对新对象的修改都不会映射到原对象中浅克隆原始类型为值传递,对象类型仍为引用传递函数函数是对象类型,但函数是一等公民,函数克隆通过浅克隆即可实现。**原因:**函数克隆会在内存中单独开辟一块空间,互不影响。针对数组实现深复制用数组的方法concat一个空数组var a = [1,2,3];var b = []...原创 2019-06-10 19:07:48 · 2219 阅读 · 0 评论 -
js中数组的常用的方法
数组中常用的方法**concat():**连接两个或更多的数组,返回结果**copyWithin():**从数组的指定位置拷贝元素到数组的另一个指定位置中。**every():**检查数值元素的每个元素是否都符合条件**filter():**检查数值元素,并返回所有符合条件元素的数组**froEach():**数组的每个元素都执行一遍回调**indexOf():**搜素数组中的元素,并...原创 2019-06-14 19:05:25 · 172 阅读 · 0 评论