- 博客(11)
- 资源 (2)
- 收藏
- 关注
原创 JavaScript 对象的创建与继承——继承篇
文章目录继承篇原型链继承借用构造函数继承继承篇原型链继承当我访问一个对象实例的属性时候,这个就会在实例的本身找是否存在这个属性,如果没有则访问[__proto__]或者prototype所以,如果我们需要实现继承,可以通过修改构造函数的原型来实现,这样每一个实例都可以得到父类的属性和方法。我们直接代码来看下如何实现吧!var Father = function(age) { thi...
2019-08-29 02:41:51 153
原创 JavaScript 对象的创建与继承——创建篇
对象每一个语言最重要与最基础的数据结构非对象莫属,因为可以通过它实现其他任何数据结构。什么是对象在JS语言中,对象的定义未:无序属性的集合,其属性可以包含基本值、对象或者函数,换句话说,就是对象里包含许多属性,这些属性通过映射可以指向任何类型的值。创建一个对象通过实例Object来创建一个对象var o = new Object()o.name = 'Rex'o.age =...
2019-08-28 02:17:15 212
原创 JavaScript Promise使用与实现-----自己写一个Promise
梳理一下我们现在明白了如何使用Promise了,所以我们需要来根据需求来思考下如何实现一个Promise首先Promise是一个对象,因为我们每次是通过new来实例一个PromisePromise是对象,则代表存在Promise中有一个构造函数,这个构造函数接受一个参数:函数参数这个函数参数已经有了具体规则,就是接收2个参数resolve和rejected,分别代表这成功回调和失败回调...
2019-08-26 15:42:07 473
原创 JavaScript Promise使用与实现-----如何使用?
如何使用promise一般来说,我们处理异步事件都时候都是函数里面套函数,但是这样不仅不美观而且可读性非常差,就出现了回调地狱的问题fs.readdir(source, function (err, files) { if (err) { console.log('Error finding files: ' + err) } else { files.forEach(...
2019-08-19 18:23:35 432
原创 JavaScript连续赋值的执行顺序问题
引子一道阿里的面试题let a = { n:2}let b = aa.x = a = { l:2}// 说出 a 和 b的输出值我第一次看到这个题目是懵逼的,因为平时没注意=的多次赋值的执行顺序的问题。第一种答案:a => { l:2, x:{ l:2 }}b=> { n : 2}第二种答案:a => { l:2}b=&...
2019-08-19 16:04:57 2187 5
原创 数据结构之排序算法--------JavaScript篇
文章目录排序算法简单排序算法冒泡排序选择排序插入排序高级排序希尔排序快速排序排序算法简单排序算法冒泡排序像可乐里面的气泡一样,每一个数都自行的向上比较,如果符合就停下,不符合就继续冒泡对未排序的元素从头到尾依次与相邻元素比较,如果不符合条件则调换位置,符合则进行下一个元素比较时间复杂度(n2n^2n2),空间复杂度(111),稳定 function bubbleSort (ar...
2019-08-14 21:19:26 209
原创 数据结构之红黑树
红黑树什么是红黑树一种根据特别规则而生成的二叉查找树普通的二叉查找树左子树上所有结点的值均小于或等于它的根结点的值。右子树上所有结点的值均大于或等于它的根结点的值。左、右子树也分别为二叉排序树。文字理解不能,就看图吧)]如果我们需要查找10的时候如何进行查找?先查找根节点由于10 > 9,因此查看右孩子13:由于10 < 13,因...
2019-08-14 15:14:39 137
翻译 fabricjs文档阅读(四)
自由画笔如果说canvas还有什么可以说的亮点—那自然就是能够自由地在canvas绘画.fabric自然也提供了许多方法来进行这一交互功能.只要设置属性isDrawingMode为true就可以实现自由绘画.这时,鼠标就变成一个画笔,通过点击就可以在canvas画布进行绘画.只要设置了isDrawingMode为true你就可以随意地在canvas进行绘画.每次鼠标抬起之后,你所绘画的路径都...
2019-08-02 19:10:03 4146 8
翻译 fabricjs文档阅读(三)
群组群组是Fabric最强大的功能之一。它们就是它们听起来的样子——一种将任何fabric对象组合成单个实体的简单方法。我们为什么要这么做?当然,能够将这些对象作为一个对象来工作!还记得canvas上的任意数量的Fabric对象是如何用鼠标分组的吗?一旦分组,所有对象都可以一起移动甚至修改。他们组成一个团体。我们可以缩放这个组,旋转,甚至改变它的表示属性——颜色、透明度、边框等等。这正是组的...
2019-08-02 16:16:55 3595
翻译 fabricjs文档阅读(二)
Part 2动画我们通过set方法就可以快速的修改canvas上的图形的属性。但是,往往我们在开发网站的时候除了完成功能需求之外,也需要提高网页的美观。所以动画是一个必不可少的功能。举个例子:rect.set('angle', 45);给这个变化属性添加动画非常简单,因为每一个图形对象都有一个animate的方法,只需要传入相应的参数即可rect.animate('angle', 4...
2019-08-02 15:09:17 3384
翻译 fabricjs文档阅读(一)
初入fabric今天,我想向您介绍Fabric.js——一个强大的javascript库,它能够让使用HTML5 canvas变得轻而易举。Fabric为canvas提供了一个跟踪的对象模型,以及一个SVG解析器、交互层和一整套其他不可缺少的工具。这是一个完全开源的项目,由麻省理工学院授权,多年来做出了许多贡献。为什么使用Fabricweb Canvas提供一些非常好的图像API,但是这些...
2019-08-02 13:59:12 8048 11
mock+express搭建本地服务器模拟数据
2019-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人