- 博客(19)
- 收藏
- 关注
原创 JavaScript数据结构——集合
集合是由一组无序且唯一(即不能重复)的项组成的。可以将集合想象成一个既没有重复元素,也没有顺序概念的数组。基于ES2015的Set类来实现我自己的Set类。需要声明以下集合可用的方法:add(element): 向集合添加一个新元素。 delete(element): 从集合移除一个元素。 has(element): 如果元素在集合中,返回true,否则返回false。 clear(): 移除集合中的所有元素。 size(): 返回集合所包含元素的数量。它与数组的length属性相同。 v
2022-04-27 23:12:40 3731
原创 JavaScript数据结构——链表数据结构
链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个元素由一个存储元素本身的节点和指向下一个元素的引用(也称指针或链接)组成。创建链表,并实现一些方法:push(element): 向链表尾部添加一个新元素。 insert(element, position): 向链表的特定位置添加一个新元素。 getElementAt(index): 返回链表中特定位置的元素。如果链表中不存在这样的元素则返回undefined。 remove(element): 从链表中移除一个
2022-04-26 23:54:59 433
原创 JavaScript数据结构——队列数据结构
1. 队列队列是遵从先进先出(FIFO,也称为先来先服务)原则的一组有序的项。队列在尾部添加新元素,并从顶部移除元素。最新添加的元素必须排在队列的末尾。最常见的例子就是排队。下面是用对象存储队列中数据结构的类。需要声明一些队列可用的方法。enqueue(element(s)): 向队列尾部添加一个(或多个)新的项。 dequeue(): 移除队列的第一项,并返回被移除的元素。 peek(): 返回队列中第一个元素。队列不作任何变动。 isEmpty(): 如果队列中不包含任何元素,返回tr
2022-04-20 00:55:53 619
原创 Class的基本语法
1. 在类的实例上调用方法,实际上就是调用原型上的方法。2. constructor方法是类的默认方法,通过new命令生成对象实例时自动调用该方法。一个类必须有constructor,若没有显示定义,会默认添加。3. 类和模块的内部默认使用严格模式。4. 类必须使用new来调用,否则会报错。5. 类不存在变量提升6. 类的方法内部如果含有this,它将默认指向类的实例。7. 类的name属性就是紧跟在Class关键字后面的类名。8. 类的内部可以用get和set关键字对某个属..
2022-04-06 22:50:13 738
原创 ES6的Generator函数
一、特征:1. 形式上,是一个普通函数。2. 是ES6提供的一种异步编程解决方案,语法行为与传统函数完全不同。3. 从语法上,首先可以把它理解成一个状态机,封装了多个内部状态,还是一个遍历器对象生成函数。4. function 命令与函数名之间有一个星号。5. 函数体内部使用yield语句定义不同的内部状态。二、示例:function* helloWorldGenerator() { yield 'hello'; yield 'world'; retur
2022-03-27 23:02:06 328
原创 对象的原型链
1. js中的对象有一个特殊的[[Prototype]]内置属性,其实就是对于其他对象的引用。2. [[Prototype]]链最终都会指向内置的Object.prototype3. [[Prototype]]机制就是存在于对象中的一个内部链接,它会引用其他对象。这个链接的作用是:如果在对象上没有找到需要的属性或者方法引用,引擎就会继续在[[Prototype]]关联的对象上进行查找。如果在后者中也没有找到需要的引用就会继续查找它的[[Prototype]],以此类推。这一系列对象的链接被称为“原型
2022-03-17 23:56:29 299
原创 Javascript里的this(2)
1. 判断this。可以按照下面的顺序判断函数在某个调用位置应用的是哪条规则:(1)函数在new中调用(new绑定),this绑定的是新创建的对象。(2)函数通过call、apply(显示绑定)或者硬绑定调用,this绑定的是指定对象。(3)函数在某个上下文对象中调用(隐式绑定),this绑定的是那个上下文对象。(4) 如果以上都不是,使用默认绑定。严格模式下(函数体处于严格模式下)绑定到undefined,否则绑定到全局对象。2. 剪头函数不使用this的四种标准规则,而是根据外层(函
2022-03-13 17:50:40 1519
原创 JavaScript里的this(1)
1. this可以隐式传递对象的引用。2. this的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。3. this是在函数被调用时发生的绑定,它指向什么完全取决于函数在哪里被调用。4. this默认绑定到全局对象。只有函数运行在非strict mode下时,默认绑定才能绑定到全局对象;在严格模式下调用函数则不影响默认绑定。5. 隐式绑定this时,需要在一个对象内部包含一个指向函数的属性,并通过这个属性间接引用函数,从而把this间接(隐式)绑定到这个对象上。6. 函数的ca
2022-03-13 16:46:15 1111
原创 Javascript闭包相关知识
1. 闭包是基于词法作用域书写代码时所产生的自然结果。当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。2. 例function foo(){var a=2;function bar(){console.log(a);}return bar;}var baz=foo();baz(); // 2(1)函数bar()的词法作用域能够够访问foo()的内部作用域。(2)bar()在自己定义的词法作用域以外的地方执行。(3)
2022-03-12 20:38:48 708
原创 JavaScript词法作用域
词法作用域就是定义在词法阶段的作用域。词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变。
2022-03-12 19:39:00 317
原创 vue-cli 项目搭建
1.首先,确保你安装了node和npm,安装后检查是否安装成功,打开cmd终端,输入如图:2.你可以使用cnpm代替npm提高安装速率,在命令行输入: npm install -g cnpm --registry=http://registry.npm.taobao.org 等待安装完成3.安装vue-cli脚手架构建工具cnpm install -g vue-cli或者如下写法也可:cnpm ...
2018-06-22 11:01:09 184
原创 笔记之“ECharts渐变颜色的实现”
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>ECharts实现渐变色</title> <script type="text/javascript" src="echarts.min.js"
2018-06-08 15:03:26 1730
原创 笔记之“HTML5元素-功能元素”
2.H5新增了很多专用元素1)hgroup元素:用于对整个页面或页面中一个内容区块的标题进行组合。2)video元素:定义视频<video src="movie.ogg" controls="controls">video元素</video>3)audio元素:定义音频<audio src="someaudio.wav">audio元素</audio&
2018-06-07 23:07:19 803
原创 笔记之“HTML5元素-结构元素”
1.结构元素H5新增的语义化结构元素元素名称说明header表示页面中一个内容区块或整个页面的标题footer表示整个页面或页面中一个内容区块的脚注。一般来说,它会包含创作者的姓名、创作日期以及创作者联系信息section表示页面中的一个内容区块,如章节、页眉、页脚或页面中的其他部分。它可以与h1、h2、h3、h4、h5、h6等元素结合使用,标示文档结构article表示页面中一块与上下文不相关的...
2018-06-07 22:09:19 322
原创 笔记之“将十六进制颜色转为rgba”
使用时只需传入十六进制字符串,“n”表示透明度如:console.log("90BFBF",1) => rgba(144,191,191,1)function colorRgba (str,n){ //十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; var sColor = str.toLowerCase();...
2018-06-07 21:39:29 3006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人