javascript
文章平均质量分 55
来打小怪啊
You can be who you want to be
展开
-
js 构造函数里的 return 语句
一般来说,使用 new 构造函数(参数) 会得到新创建的对象。但是,如果在 js 的构造函数中,如果有 return 语句,使用 new 运算,会怎么样呢?分 2 种情况:如果返回的是基础数据类型,new 运算会忽略这个语句,得到的是新创建的对象。function Person(name, age) { this.name = name; this.age = age; // return [1,2]; // return function(){}; //原创 2021-05-10 10:21:18 · 636 阅读 · 0 评论 -
js中的 5 种继承的实现
js 中继承的实现方式很多,下面的代码,包含了 5 种:原型链继承、构造函数继承、组合继承、组合继承优化、寄生组合继承。// 1. 原型链继承// 优点:// (1)子类可以继承父类的实例属性、原型方法// 缺点:// (1)子类从父类继承的实例属性如果是引用类型的,就会操作的同一个对象,相互影响// (2)调用子类的构造函数创建实例时,无法向父类构造函数传递参数function Parent1(name, likes) { this.name = name; this.lik原创 2021-03-18 12:49:40 · 142 阅读 · 0 评论 -
javascript中的事件循环
javascript 中的事件循环,阐明了代码的执行顺序。其中涉及了调用栈(call stack)、消息队列(message queue)、宏任务(macrotask/task)、微任务(microtask/job)这几个概念。一. 可视化表示下面这个图,是来自 MDN 的事件循环的可视化表示。图中的 Stack 就是事件循环中的调用栈,它其中存放着一个一个的函数调用帧。每个函数调用后,就会创建一个调用帧放入栈中。每个帧都包含着对应函数的参数和局部变量。图中的 Queue 是事件循环中的消息队列原创 2021-03-04 09:56:08 · 174 阅读 · 2 评论 -
JS脚本阻塞问题
脚本调用策略小结:脚本阻塞问题有两种解决方案 —— async 和 defer1. async:如果脚本无需等待页面解析,且无依赖独立运行,那么应使用 async。(异步加载,立即执行:脚本下载完成后,会立即执行;无法保证脚本的执行顺序)2. defer:如果脚本需要等待页面解析,且依赖于其它脚本,调用这些脚本时应使用 defer,将关联的脚本按所需顺序置于 HTML 中。(异步加载,延后执行:脚本下载完成后,会等待页面下载解析完成后,再执行;可以保证脚本按书写顺序执行)...原创 2021-02-25 09:25:00 · 351 阅读 · 0 评论 -
JS 实现 10 大经典排序算法
0. 算法复杂度排序算法时间复杂度(平均)空间复杂度稳定性冒泡排序O(n2)O(1)稳定快速排序O(nlog2n)O(log2n)不稳定简单插入排序O(n2)O(1)稳定shell 排序O(n1.3)O(1)不稳定简单选择排序O(n2)O(1)不稳定堆排序O(nlog2n)O(1)不稳定二路归并排序O(nlog2n)O(n)稳定计数排序O(n + k)O(n + k)稳定桶排序O(n原创 2020-05-14 08:49:12 · 507 阅读 · 0 评论 -
Vue 源码学习 --事件 event
1. 事件概述Vue 中的事件可以分为 2 类:原生 DOM 事件、自定义事件。两者在使用方式、用途、源码处理的实现上存在区别。使用方式:原生 DOM 事件可用在原生 DOM 元素上,也可用在组件上(这种情况下,需使用 .native 修饰符);自定义事件只能在组件上使用。用途:它们都具有事件的基本用途 – 界面与用户交互;而自定义事件还经常用于父子组件之间的通信。源码实现:原生 ...原创 2020-04-28 23:19:51 · 237 阅读 · 1 评论 -
Vue源码学习 -- 响应式原理之观察者模式
1. 观察者模式概念观察者模式又被称为 发布-订阅 模式,这种模式定义了对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并完成自动更新。优点观察者与被观察者是抽象耦合的建立了一套触发机制缺点被观察者有很多的观察者时,通知更新这一过程会花费很多的时间观察者和被观察者之间存在循环依赖的话,可能导致系统奔溃现实中的例子......原创 2020-04-26 16:48:43 · 1991 阅读 · 4 评论 -
vue - element 分页器 Pagination 组件封装
1. Pagination.vue<template> <div :class="{'hidden':hidden}" class="pagination-container"> <el-pagination :background="background" :current-page.sync="currentPage" ...原创 2020-04-24 10:58:00 · 1494 阅读 · 0 评论 -
vue - element 表格使用总结(分页器、查询表单、多级表头、展开行、自定义列、后端排序、响应式高度)
element 表格使用总结原创 2020-04-22 15:24:49 · 2695 阅读 · 0 评论 -
前端开发基础知识总结
前端开发基础知识 – 总结1. HTML常用的 meta 头html 中的 meta 标签总是位于 head 标签中,用于定义关于页面的一些原数据meta 标签中的属性是以属性名=属性值的形式定义的meta标签的两大属性:name(页面描述信息)、http-equiv(http标题信息)name属性(1)keywords(关键字)(2)description(页面内容描...原创 2020-04-20 10:57:53 · 904 阅读 · 0 评论 -
ES6 基础 -- 变量
ES6 基础1. ECMAScript 简介(1). ECMAScript 和 JavaScript 的关系ECMAScript 是 JavaScript 的规范,JavaScript 是 ECMAScript 的一种实现。(2). ES6 与 ECMAScript 2015 的关系ES6 是一个泛指,含义是 ES5.1 版本以后的 JavaScript 的下一代标准,涵盖了 ES...原创 2020-04-20 10:47:54 · 2772 阅读 · 0 评论