前端的道路走着
JS实现继承的方式 JS实现继承的方式
JS实现继承的方式// 定义一个父类 function Father(name) { // 属性 this.name = name || "father"; // 实例方法
2020-05-26
bind,call,apply区别 bind,call,apply区别
bind、call、apply 区别 call 和 apply 都是为了解决改变 this 的指向。作用都是相同的,只是传参的方式不同。 除了第一个参数外,call 可以接收一个参数列表,apply 只接受一个参数数组 let a = {
2020-03-26
如何通过JS判断一个数组 如何通过JS判断一个数组
如何通过JS判断一个数组 instanceof方法 instanceof 运算符是用来测试一个对象是否在其原型链原型构造函数的属性 var arr = []; arr instanceof Array; // true const
2020-03-25
原型继承和Class继承 原型继承和Class继承
原型继承和 Class 继承首先先来讲下 class,其实在 JS中并不存在类,class 只是语法糖,本质还是函数 class Person {} Person instanceof Function // true 组合继承 组合继承是
2020-03-23
倒计时误差 倒计时误差
setTimeout 倒计时误差JS 是单线程的,所以 setTimeout 的误差其实是无法被完全解决的,原因有很多,可能是回调中的,有可能是浏览器中的各种事件导致。这也是为什么页面开久了,定时器会不准的原因,当然我们可以通过一定的办法去
2020-03-16
谈谈变量提升? 谈谈变量提升?
谈谈变量提升?当执行 JS 代码时,会生成执行环境,只要代码不是写在函数中的,就是在全局执行环境中,函数中的代码会产生函数执行环境,只此两种执行环境 接下来让我们看一个老生常谈的例子,var b() // call b console.
2020-03-14
数组去重方法的方式总结 数组去重方法的方式总结
数组去重方法的方式总结方法一、利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } var arr = [1,1,'true','t
2020-03-10
异步编程的实现方式 异步编程的实现方式
异步编程的实现方式 回调函数 优点:简单、容易理解 缺点:不利于维护,代码耦合高 事件监听(采用时间驱动模式,取决于某个事件是否发生): 优点:容易理解,可以绑定多个事件,每个事件可以指定多个回调函数 缺点:事件驱动型,流程不够清晰
2020-03-09
javascript创建对象方式 javascript创建对象方式
javascript创建对象方式javascript创建对象简单的说,无非就是使用内置对象或各种自定义对象,当然还可以用JSON;但写法有很多种,也能混合使用 对象字面量的方式 person={firstname:"曹豆芽",lastn
2020-03-08
深浅拷贝 深浅拷贝
深浅拷贝浅拷贝 首先可以通过 Object.assign来解决这个问题,很多人认为这个函数是用来深拷贝的。其实并不是,Object.assign 只会拷贝所有的属性值到新的对象中,如果属性值是对象的话,拷贝的是地址,所以并不是深拷贝 let
2020-03-03
js闭包详谈 js闭包详谈
js闭包详谈闭包的定义很简单:函数 A 返回了一个函数 B,并且函数 B 中使用了函数 A 的变量,函数 B 就被称为闭包。 function A() { let a = 1 function B() { console
2020-03-02