摘要: 函数高阶3 函数重写 一个函数执行之后, 被另一个函数覆盖了。 其实就是你之前函数指针, 指向了另一个新函数. function fun_a(){ console.log('fun_a'); fun_a = function(){ console.log("fun_b"); } } fun_a(); 阅读全文
posted @ 2020-11-24 16:55 Cyrus_Br 阅读(167) 评论(0) 推荐(0) 编辑
摘要: apply、call 和 bind 实现 在前面的文章中介绍过了,apply 和bind 的作用就是显示改变函数执行的this的绑定。 apply 和 call 是执行函数并该改变this,二者的参数有所区别 而bind则是 返回一个待执行的新函数, 当新函数执行的时候改变了this的指向。 所以, 阅读全文
posted @ 2020-11-24 16:53 Cyrus_Br 阅读(141) 评论(0) 推荐(0) 编辑
摘要: css层叠 层叠上下文 层叠上下文(stacking context),是HTML中一个三维的概念。每个盒模型的位置是三维的,分别是平面画布上的X轴,Y轴以及表示层叠的Z轴。通常在元素发生堆叠时,就能看到某个元素可能覆盖了另一个元素或者被另一个元素覆盖。 层叠上下文可以理解成,在发生堆叠的时候,当前 阅读全文
posted @ 2020-11-24 16:52 Cyrus_Br 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 基于Echart实现的自定义瀑布图 demo 阅读全文
posted @ 2020-05-07 11:18 Cyrus_Br 阅读(2979) 评论(0) 推荐(0) 编辑
摘要: 函数的高阶使用2 我们来看一个分析: 如果要实现一个拖拽功能,需要一路监听 mousemove 事件,在回调中获取元素当前位置,然后重置dom的位置来进行样式改变。如果不加以控制,每移动一定像素而触发的回调数量非常惊人,回调中又伴随着 DOM 操作,继而引发浏览器的重排与重绘,性能差的浏览器可能就会 阅读全文
posted @ 2019-03-14 12:53 Cyrus_Br 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 函数1 函数的柯里化 柯里化(currying)是把接收多个参数的函数变换成为接收一个部分参数的函数,并返回接收余下参数的新函数的技术。通常这个参数是一个。 可能我们对这个解释不太明白。 现在我们来思考一个简单的问题。 怎么定义一个只有一个参数的函数,实现加法运算。 其实我们把实现加法的函数转化成上 阅读全文
posted @ 2019-03-14 10:55 Cyrus_Br 阅读(545) 评论(0) 推荐(1) 编辑
摘要: 关于一道经常碰到的面试题 最近面试经常碰到这样一道题(或者类似):ps.因为我阿姨不会就详细分析吧。 问题 其实,通过分析就不难看出,核心点问题都是, 在一个循环内,延时打印循环变量。 所有的结果一样。 问题分析 因为js的变量有提升作用,所以可以将程序改成成更加直观的形式。 我们改成程序之后,就可 阅读全文
posted @ 2019-03-12 20:41 Cyrus_Br 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 继承 因为李阿姨不太明白继承,之前也写过对象做铺垫,今天就来写下继承。 在其他面向对象语言,继承,就是让子类对象可以拥有父类的方法和属性。你也可以认为继承是指在原有对象的基础上,略作修改,得到一个新的对象。其实也就是,让新对象拥有被继承对象的属性和方法。这么理解因为在js中没有类的概念,只有对象的概 阅读全文
posted @ 2019-03-08 11:17 Cyrus_Br 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 创建对象的5中方式 直接字面量 虽然Object构造函数或对象字面量,或者Object.create()都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码。 工厂模式 这种将创建对象的封装成为函数,调用函数来创建对象。用函数来封装以特定接口创建对象的细 阅读全文
posted @ 2019-03-07 23:16 Cyrus_Br 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 对象 对象其实可以看做有许多键值对组合成的一个无序集合,可以通过键俩访问值。值一般由,基本数据类型 和 object 组合。 对象的创建 有三种方式: 1. new构造函数 1. 使用new来创建一个对象 甚至可以简写成为: 2. Object参数如果是一个对象,则直接返回对象本身 3. 传入原始数 阅读全文
posted @ 2019-03-07 16:59 Cyrus_Br 阅读(258) 评论(0) 推荐(0) 编辑