javascript
爱吃香蕉的布呐呐儿
这个作者很懒,什么都没留下…
展开
-
# javascript基础之数据传输原理
javascript基础之数据传输原理js的数据类型可以划分为两种:一种javascript的原始数据类型:undefined、null、number、string、boolean、symbol。另一种是:javascript的引用数据类型:数据存放位置以及方式原始数据类型存放在栈(stack)中,直接存储在变量访问的位置。(是他是他就是他),栈中包含 变量的标识和值。引用数据类型...原创 2020-04-23 11:21:08 · 545 阅读 · 0 评论 -
前端基础算法--选择排序
算法之排序选择排序快速排序会在一组无序的数列中找到一个最小元素,然后,依次和没有排序的做比较。需要循环比较n-1次 const arr = [3,5,15,26,23,6,32,44,65] function selectionSort(arr, len = arr.length) { arr.map((e, i) => { ...原创 2019-12-06 13:27:40 · 193 阅读 · 0 评论 -
前端基础算法--快速排序
算法之排序快速排序在数组中,找一个基准点,然后splice出去;将数组中小于改基准点的数据放在一个数组,大于基准点的数据放在一个数组;对左边的数组进行递归操作,对右边的数组递归操作,最后concat起来,并返回function quickSort(arr) { arr = arr.concat(); if(arr.length<=1){ retur...原创 2019-12-06 11:56:22 · 518 阅读 · 2 评论 -
前端基础算法--冒泡排序
算法之排序冒泡排序冒泡排序会将元素像小水泡一样从大到小一个个的移动。他的思想是:相邻两个元素做比较,如果左边的大于右边的,那么左右位置交换,当左边的大于右边的,那么位置不变。const list = [5,8,6,3,9,1,2,7];情况一:1.比较相邻的两个元素,如果前一个比后一个大,则交换位置。2.第一轮把最大的元素放到了最后面。3.由于每次排序最后一个都是最大的,所以之...原创 2019-12-06 11:55:49 · 268 阅读 · 0 评论 -
观察者与订阅发布者的区别
观察者模式与订阅发布者模式观察者从概念上来解释的话:目标和观察者都是基类,目标是维护观察者的一系列方法,观察者提供更新的接口。具体观察者和具体目标继承各自的基类,然后具体观察者把自己注册到具体目标中。在具体目标发生变化的时候,调度观察者的更新方法。个人理解:目标与观察者直接对接,其中,目标为一个类,提供具体的目标。观察者为一类,提供监听目标变化从而产生的一系列操作的api。将观察者放在目标中...原创 2019-04-19 10:28:02 · 362 阅读 · 0 评论 -
javascript高阶函数之reduce
javascript高阶函数之reduce语法:参数:描述学以致用语法:arr.reduce(callback,[initialValue])该方法接收一个函数作为累加器,数组中的值从左到右开始缩减,最终计算为一个值参数:callback (执行数组中每个值的函数,包含四个参数)previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue))...原创 2019-03-14 14:00:52 · 178 阅读 · 0 评论 -
vue-router源码整体分析
vue-router源码整体分析前言思维导图目录结构使用入口插件开始实例化 VueRouter实例化 History前言在上一篇博客中,讲述了前端的路由机制。根据前端路由机制来解析vue-router源码,从而来理解它的原理。以下文章为转载内容,本人为了方便记忆,查看原文思维导图看图先整体了解一下思路。目录结构和流程相关的主要需要关注点的就是 components、history...转载 2019-03-07 17:38:10 · 1376 阅读 · 0 评论 -
前端路由路由机制
从前端路由学习vue-router原理(上)前言前端路由机制前端路由机制原理及两种实现方式一、History二、hashChange三、hash 和 history API对比前言早起的路由都是由后端提供,请求服务器通过url来reload页面。但是随着页面越来越多,服务器的压力也越来越大。而就目前最流行的SPA单页面应用架构路由则是由前端实现。单页面应用指的是应用只有一个主页面,通过动态替...原创 2019-03-07 15:08:31 · 763 阅读 · 0 评论 -
call、apply、bind的区别
call、apply、bind的区别使用目的用法区别官方解释apply()call()bind()Example使用目的通过使用call、apply以及bind可以改变函数运行时this的指向。用法区别call跟apply的用法几乎一样,唯一的不同就是传递的参数不同,call只能一个参数一个参数的传入。apply则只支持传入一个数组,哪怕是一个参数也要是数组形式。最终调用函数时候这个数组...原创 2019-03-04 18:10:40 · 269 阅读 · 0 评论 -
js函数防抖和函数节流
函数防抖和函数节流概念使用场景概念函数防抖:就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间。(在频繁触发的情况下,只有在停止触发的时候才会执行)函数节流:限制一个函数在一定时间内只能执行一次。目的:函数防抖和函数节流都是用来优化高频率执行js代码的手段简而言之就是在一定时间内,把高频率执行且效果一样的js代码优化掉使用场景1、函数...原创 2019-03-04 15:39:03 · 182 阅读 · 0 评论 -
javascript中的发布者与订阅者
javascript中的发布者与订阅者介绍发布者与订阅者模式实现发布—订阅模式功能代码封装取消订阅事件开发中遇到的发布--订阅功能全局--发布订阅对象代码封装理解模块间通信介绍发布者与订阅者模式之前分析vue双向绑定原理的时候,提到一个订阅器Dep,他主要负责收集订阅者,然后在属性变化的时候执行对应订阅者的更新函数。原理同javascript中的观察者模式javascript中的发布–订阅模...原创 2019-03-04 15:24:13 · 3284 阅读 · 1 评论 -
new操作符原理
javascript中的原型前言理解原型前言理解原型原创 2019-03-06 17:32:04 · 3793 阅读 · 0 评论