![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javascript
CC_Together
前端开发程序猿的学习之路
展开
-
van-tree-select实现全选功能
van-tree-select实现全选功能建立一级分类和二级分类id对照表,方便后续操作各个id //前提:全部选项的id与一级分类id一致且id长度与二级分类不相同并具备前三个字符相同的规律(后面算法实现的基础) data=[{id:101,text:一级分类,children:[ {id:101,text:'全部'}, {id:101001,text:'二级分类1'}, {id:101002,text:'二级分类2'}] //建立本地一级分类与二级分类的Id对照表减少原创 2021-08-27 15:28:17 · 1589 阅读 · 0 评论 -
Vue源码学习之核心目录分析
在 github下载Vue源码后在本地编辑器打开src文件夹:compiler目录 包含了 Vue.js 所有编译相关的代码。它包括把所有模板解析成 ast 语法树, ast 语法树优化,代码生成等功能。core目录 包含了 Vue.js 的核心代码,包括内置组件,全局API封装,Vue 实例化,观察者,虚拟DOM, 工具函数等等。(1)components 包含抽象出来的通用组件。...原创 2020-04-30 10:48:12 · 342 阅读 · 0 评论 -
js中的函数柯里化思想
柯里化: 是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。面试中嘴jian,提了一下函数柯里化思想,面试官反问我函数柯里化有哪些应用场景,回答了只知道bind的内部实现,还好面试官说在实际工作中也不常用,问题不大。不过名字叫得这么高大上,还是了解一下比较好。概念过于抽象,看下面例子马上理解:// 普通的add函...原创 2020-04-16 00:17:21 · 320 阅读 · 0 评论 -
js中数组去重的方法总结
前端面试高频题原创 2020-04-15 17:32:33 · 337 阅读 · 0 评论 -
ES6新特性的简单总结
ES6 既是一个历史名词,也是一个泛指,含义是5.1版以后的JavaScript的下一代标准,涵盖了ES2015、ES2016、ES2017等等,而ES2015则是正式名称,特指该年发布的正式版本的语言标准。一、变量扩展1. let和const命令let用来声明变量,它的用法类似于var。const声明一个只读的常量。一旦声明,常量的值就不能改(当const声明的常量为引用类型时只保证...原创 2020-04-15 14:23:44 · 451 阅读 · 0 评论 -
js中判断一个对象是数组的方法
前端面试高频题,总结了一些判断一个对像是否为数组的方法,了解一下。原创 2020-04-13 20:19:32 · 255 阅读 · 0 评论 -
js中的原型与原型链的清晰梳理
原型与原型链是js中的重难点,比较难理解和易混淆,希望以下的总结和梳理能让你更进一步的掌握原型和原型链(良心总结)原创 2020-04-13 17:08:35 · 304 阅读 · 0 评论 -
js的事件执行机制之Event Loop(事件循环)
首先了解一下以下几个概念:JavaScript语言的特点:JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。如果前一个任务耗时很长,后一个任务就不得不一直等着,于是引入异步任务的概念。同步任务和异步任务:所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asy...原创 2020-04-13 00:57:47 · 241 阅读 · 0 评论 -
js中的闭包及应用
闭包的定义:函数和对其周围状态的引用捆绑在一起构成闭包(MDN文档中的闭包定义)相关代码帮助理解://最常见的闭包类型,函数嵌套,子函数引用父函数的变量,形成闭包function init() { var name = 'js; // name 是一个被 init 创建的局部变量 function GN() { // GN为内部函数,与引用的变量name形成一个闭包 ...原创 2020-04-12 23:29:18 · 225 阅读 · 0 评论 -
js中的节流和防抖的区别及应用场景
函数节流(throttle)和防抖(debounce):是一种性能优化手段一、函数节流类比生活中的例子。高频率触发某个事件就像一个大开的水龙头,水流源源不断大量流出,就像代码在不断执行。这是对资源的一种浪费。我们要通过节流,把水龙头拧紧一点,让它流水的频率降低,但是每一段时间都能滴下一滴水,从而节省资源。节流应用场景:用户滚动浏览器滚动条的时候,就会调用后台的接口来更新页面上的某些内容...原创 2020-04-12 20:47:52 · 1736 阅读 · 2 评论 -
js中call、apply和bind的介绍(区别)及实现
js中call、apply和bind主要用于改变调用函数(或方法)中this的指向区别:call()方法的作用和 apply() 方法类似,区别就是call()方法接受的是参数列表,而apply()方法接受的是一个参数数组。bind()方法的用法和call()方法类似,区别就是bind()不会立即执行,可二次传参后再执行。一、call、apply和bind的介绍(1) Funct...原创 2020-04-12 15:56:33 · 975 阅读 · 0 评论 -
js实现数组扁平化方法总结
数组扁平化:将多维数组变为一维数组arr = [1,2,[3,[4,5]]]经扁平化处理后变为:arr = [1,2,3,4,5]1、arr.some+concat 实现数组扁平化实现原理:some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。…arr(es6展开运算符):[1,2,[3,4]] => 1,2,[3,4]...原创 2020-04-12 14:18:12 · 249 阅读 · 0 评论 -
js高阶函数之用reduce实现map
加深对高阶函数reduce和map实现原理的理解高阶函数:函数中可以传入另一个函数作为参数的函数map介绍map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一次提供的函数后的返回值。语法:var new_array = arr.map(function callback(currentValue, index, array) { // 返回新数组的元素},this...原创 2020-04-12 12:04:23 · 771 阅读 · 0 评论 -
js中Promise的原理及实现
手写Promise原创 2020-04-11 17:16:07 · 3915 阅读 · 0 评论 -
js中的继承及优缺点
《JavaScript高级程序设计》提到了6中继承方式:一、原型链继承function Parent(){ this.name = 'CC';}Parent.prototype.getName = function(){ console.log(this.name);}function Child(){}//核心:子类的原型对象指向父类的实例Child.prot...原创 2020-04-11 15:24:16 · 273 阅读 · 0 评论 -
js中this的指向问题
js中this的指向问题常见的大概有以下几种情况:全局作用域、普通函数以及定时器中的this指向全局对象window方法中的this指向的是调用它的对象构造函数中的this指向构造函数的实例箭头函数中没有绑定this,this为最近外层作用域下有定义的thiscall、apply、bind可改变this指向对以下代码进行说明,加深理解:全局作用域、普通函数以及定时器中的thi...原创 2020-04-11 13:42:09 · 367 阅读 · 0 评论