这里整理了一些自己封装的方法。
1. 类名
1 | /** |
2. CSS
1 | /** |
这里整理了一些自己封装的方法。
1 | /** |
1 | /** |
经常会遇到需要把数组展开的面试题,比如把数组['j',['a','r'],'v',['a,'n'],[5,[2,0]]]
展开变成["j", "a", "r", "v", "a", "n", 5, 2, 0]
。常见方式肯定是递归,今天发现了一种利用ES6新特性的方式,记录下来张张见识。
先写下比较常见的递归方式:
1 | let flat1 = (arr) => { |
接着是利用ES6遍历器的方式:
1 | let flat2 = (arr) => { |
数组排序的几种方法。
1 | function bubbleSort(ary) { |
1 | function insertSort(ary) { |
面向对象编程有三大特征:封装、继承、多态。
严格意义上来说,JavaScript是没有继承和多态的,所以需要我们自己来实现,今天来讲讲ES5的继承实现方法。
我个人认为,最好的继承方案,应该是父类私有的属性和方法拿到子类上用,父类公有的属性和方法直接通过__proto__查找到。
要实现父类的私有属性和方法拿到子类上来用,最简单的方式就是用call方法。
1 | function Father() { |