
javaScript
文章平均质量分 65
windy-boy
这个作者很懒,什么都没留下…
展开
-
ES5/ES6 的继承除了写法以外还有什么区别
ES5 的继承实质上是先创建子类的实例对象,然后再将父类的方法添加 到 this 上ES6 的继承机制完全不同,实质上是先创建父类的实例对象 this(所以必须先调用父类的super()方法),然后再用子类的构造函数修改 this。ES5 的继承时通过原型或构造函数机制来实现。ES6 通过 class 关键字定义类,里面有构造方法,类之间通过 extends 关 键字实现继承。 子类必须在 constructor 方法中调用 super 方法,否则新建实例报错。因为子类没有自己的 this 对象,而.原创 2021-06-30 23:23:38 · 379 阅读 · 0 评论 -
js 数组的常用方法
数组的方法有哪些呢?看下图:这是定义在数组原型对象上的方法,常用的有:concateveryfilterfindfindIndexforEachincludesindexOfjoinmappoppushreduceshiftslicesomeunshift// 还有一些也很常用但没有定义在原型对象上的:isArrayoffrom在日常开发种,经常会用到的基本就这些,剩下的上场率都不高。接下来,温故一下:concat 拼接数组every 对数组中每一原创 2021-03-31 23:57:49 · 301 阅读 · 0 评论 -
js 防抖与节流
防抖节流原创 2021-03-24 00:07:31 · 191 阅读 · 0 评论 -
js继承 - class的继承
和之前讲的js的继承方式不同,class的继承是es6里面才有的。在讲class的继承之前,需要先了解一下class:class的基本语法class,也就是我们常说的类,// classclass Person { constructor(name, age) { this.name = name this.age = age } sayName() { console.log(this.name) }}const p1 = new Person('p1'原创 2021-02-20 23:48:08 · 7464 阅读 · 1 评论 -
js 阿拉伯数字金额转换为中文数字金额
前言最近遇到一个需求,需要把阿拉伯数字的金额如99.9元转换为中文数字金额玖拾玖元玖分。想了一下,感觉思绪有点混乱,就在网上找了下。方法有很多,择其一,根据自己的需求修改后,这里记录下来。大概思路如下:1、声明需要用到的中文数字// 汉字的数字const cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'] // 基本单位const cnIntRadice = ['', '拾', '佰', '仟'] // 对应整数部分扩展单位原创 2021-01-27 23:28:28 · 904 阅读 · 0 评论 -
js继承 - 原型式继承、寄生式继承
原型式继承基本思路:将需要继承的属性和方法放到一个对象上,然后将这个对象放到原型上。怎么做呢?看下例子:const util = { name: 'util', wealth: ['house', 'car']}function utilFn(util) { function fn(){} // 这里可以对传入的util进行修改,比如: util.weight = '80' // 这一步就是将对象放到原型上了 fn.prototype = util // 最后返回实原创 2021-01-24 19:18:34 · 220 阅读 · 3 评论 -
js继承 - 借用构造函数继承、组合继承、寄生组合式继承
因为这三种实现继承的方式都是有关联的,所以将他们放在一起了(其实可以将原型链继承也放进来)。一、借用构造函数实现继承二、组合继承三、寄生组合式继承原创 2021-01-24 19:18:04 · 432 阅读 · 0 评论 -
js继承 - 原型链继承
继承是js里面的一个重头戏,高程里面介绍了六种实现继承的方式,我们先来看一下通过原型链实现继承的方式。在js 创建对象的几种模式–原型模式里面介绍了构造函数,原型对象,和实例三者之间的关系,我们来简单回顾一下:每个构造函数都有一个原型对象,通过prototype可以访问到这个原型对象,而原型对象又可以通过constructor访问这个构造函数,实例和构造函数没有直接联系,但是实例可以通过[[Prototype]]访问原型对象,通过这种方式,实例也可以间接地访问构造函数。直接把之前的图搬过来:正是有原创 2021-01-17 18:58:05 · 604 阅读 · 0 评论 -
js 创建对象的几种模式--寄生构造函数模式以及稳妥构造函数模式
看这两名字,都带构造函数,一个寄生一个稳妥。那么,先来回忆一下构造函数模式:在这里插入代码片原创 2020-12-12 16:26:33 · 304 阅读 · 0 评论 -
vue 插槽的简单总结及实际运用
vue 插槽原创 2020-12-07 18:31:20 · 558 阅读 · 0 评论 -
js 创建对象的几种模式--原型模式
理解原型对象每个函数在创建的时候都会同时生成一个对象(用于存储特定类型的所有实例共享的属性和方法),这个对象就是通过构造函数来创建的那个对象的原型对象。原创 2020-11-28 19:36:29 · 313 阅读 · 2 评论 -
js 创建对象的几种模式--工厂模式和构造函数模式
工厂模式创建过程可以分为三步:1、在函数里面显式地创建一个对象2、在这个对象上添加属性和方法3、返回这个对象function personFn(name, sex, age) { const obj = new Object() obj.name = name obj.sex = sex obj.age = age obj.sayName = function() { console.log(this.name) } return原创 2020-08-18 08:52:57 · 287 阅读 · 0 评论 -
ArrayBuffer转base64编码的字符串
前言在向后台请求图片数据的时候,后台可能会将数据以文件流的形式返回。这个时候我们需要将responseType修改为arraybuffer。或者网上找到两种方法,刚开始使用第一种,但是发现在图片比较大的时候耗时会很久。最后在这里找到了另外一种方法,快了很多。这里原创 2020-07-29 09:19:34 · 3792 阅读 · 0 评论 -
reduce学习笔记
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终为一个值,是es5新增的一个数组逐项处理的方法。语法:arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])callback:执行数组中每个值的函数,包含四个参数accumulator:累计器,累计...原创 2019-10-24 13:48:09 · 495 阅读 · 0 评论 -
js 获取两个数组的交集,并集,补集,差集
一、简单数组1、ES5:const arr1 = [1,2,3,4,5], arr2 = [5,6,7,8,9];// 交集let intersection = arr1.filter(function (val) { return arr2.indexOf(val) > -1 })// 并集let union = arr1.concat(arr2.filter(...原创 2019-08-05 10:31:32 · 55024 阅读 · 10 评论 -
在input框按enter键会自动提交form表单
最近在改一个bug,在一个input框内按enter键,页面抛出一个空指针的错误。翻阅代码,并没有发现对应的enter时间提交from表单的代码处理。这就很神奇。因为form表单必须存在,如果要去掉form表单的话改动太大。所以就直接在input框内判断是否按了enter键,如果按了enter键则取消按键,并阻止事件的继续执行。onkeydown="if(event.keyCode==13){ev...原创 2019-01-30 22:37:18 · 1351 阅读 · 4 评论 -
浅谈setInterval(aa,1000)与setInterval(aa(),1000)的区别
一直有个疑惑,在定时器上调用某个方法时,加括号和不加括号有什么区别。今天做了个实验,发现,不加括号定时器会每秒执行一次,加了括号只会执行一次,在一些浏览器上会报错,如IE,但一样会正常执行一次。这样写浏览器会正常运行,每秒打印一次。但如果加了个括号运行结果就只有一次并且在IE浏览器会报错,但依然会执行一次并且,如果全局范围内没有s原创 2018-01-20 11:43:46 · 2847 阅读 · 0 评论