随笔分类 - 前端三剑客
对象的深拷贝和浅拷贝总结
摘要:1、赋值 修改新对象原来的对象会发生改变(改变存储空间,联动改变) let person = { name: 'Tom', age: 12, hobby: ['音乐', '动漫'] } let copyObj = person; copyObj.name = '小明'; copyObj.hobby[
JavaScript实现带省略号的分页
摘要:1、实现功能 可以跳转上一页、下一页、数据过多省略号显示,点击省略号可以实现快速跳转。 纯js+html+css实现,引入js文件后再使用方法即可快速生成。 2、实现过程 2.1 html页面(index.html) <!DOCTYPE html> <html lang="en"> <head> <
原生Ajax处理文件流
摘要:在通过Ajax处理请求时,可能会遇到需要下载文件的情况,这里简要的说明下处理方法。 let downloadFile = document.getElementById("downloadImportInfo"); let fileUrl = "D:/test.xlsx"; // ajax获取到的文
jQuery+bootstrap实现有省略号的数据分页
摘要:1、前言 在前端通过ajax请求数据后,可以通过bootstrap实现分页。由于bootstrap只提供分页的按钮的样式。数据分页我们需要实现页码跳转,上一页下一页,数据过多显示省略号,点击省略号能快速切换到其他页的数据。 2、实现过程 <!DOCTYPE html> <html lang="en"
扁平化多维数组
摘要:将下面的多维数组打开,输出去重后的结果(扁平化数组) function fn(array, result = []) { for (let i of array) { if (Array.isArray(i)) { fn(i, result) } else { result.push(i) } }
斐波拉契数列
摘要:1、斐波拉契数列的描述 斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、…… 2、斐波拉契数列的几
栈的简单使用
摘要:栈 1、基本含义 栈遵循后进先出的规则(LCFO),元素从栈顶进入,先进入的元素会慢慢向栈底的方向移动,后进的元素会从栈顶出去。简单的示意图: 入栈顺序是从上到下,出栈刚好相反。 在JavaScript中,入栈可以看成数组尾部添加即push;出栈可以看成pop; 2、举个例子 class Stack
前端面试题
摘要:1、第一组 1、jquery中的$是什么意思 在JQuery中,“$”就是jQuery的别称,是jQuery库提供的一个回传函数,定义为“选取”,是“selector”的缩写;语法“$ (selector)”,作用是根据“ ()”里的参数进行查找和选择html文档中的元素。 2、圣杯布局、等高布局写
HTML5+CSS3常见布局方式
摘要:1、等高布局 1.1 代码 等高布局是指子元素在父元素中高度相等的布局方式 <div class="father"> <div class="f1"> 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不包括不可变 这是世界上付首付款不
HTML5和CSS3新特性
摘要:1、HTML5新标签和属性 1.1 兼容性前缀与语义化 兼容低版本的写法.比较新的浏览器,可以直接写.兼容性前缀,是每个浏览器私有的。 内核 兼容性前缀 浏览器 Gecko -moz- Firefox Webkit -webkit- Chrome、Safari Presto -o- Opera Tr
前端html和css总结
摘要:1、html知识总结 1.1 表格的的相关属性 属性 表示 border-collapse 设置表格的边框是否被合并为一个单一的边框 cellpadding 单元格边距 cellspacing 单元格间距 valign: top 顶对齐 单元格内容垂直方向的对齐方式 valign: middle 居
ES6学习笔记(十四)module的简单使用
摘要:1、前言 module模块机制是es6新引入的,它解决了作用域的问题,使代码更加规范和结构化。 下面简单的使用一下。 2、基本使用 2.1 模块和脚本的区别 模块代码运行在严格模式下,并且没有任何办法跳出严格模式。 在模块的顶级作用域创建的变量,不会影响到全局作用域,它们只会在模块顶级作用域的内部存
ES6 学习笔记(十三)promise的简单使用
摘要:1、什么是promise 在JavaScript中,我们经常会用到回调函数,而回调函数的使用让我们没法使用return,throw等关键字。JS引用promise正好解决了这个问题。 promise单词意思是承诺,代表未来的某个事情或者是行为。promise是一个容器,包含了异步操作。因此我们认为p
ES6 学习笔记(十二)代理器Proxy的简单使用
摘要:1、前言 以前在学习react时做了个仿手机端的QQ音乐项目。当时的数据是通过proxy代理的QQ音乐数据接口,直接写在package.json里面。Proxy 对象(Proxy)是 ES6的特性,只是不太常用。 2、基本内容 2.1 含义 正如MDN上所说,Proxy 对象用于创建一个对象的代理,
ES6 学习笔记(十一)迭代器和生成器函数
摘要:1、前言 JavaScript提供了许多的方法来获取数组或者对象中的某个元素或者属性(迭代)。从以前的for循环到之后的filter、map再到后来的for...in和for...of的迭代机制。只要具有iterator接口的都可被迭代。 2、迭代器 Iterator 2.1 含义 迭代器(iter
ES6 学习笔记(十)Map的基本用法
摘要:1 基本用法 Map类型是键值对的有序列表,而键和值都可以是任意类型。可以看做Python中的字典(Dictionary)类型。 1.1 创建方法 Map本身是一个构造函数,用来生成Map实例,如: let m1 = new Map() 1.2 初始化 Map构造函数可以接收一个数组作为参数,该数组
ES6 学习笔记(九)Set的基本用法
摘要:1 基本用法 set类似于数组,它的成员是唯一的,当有多个相同的值,只会保留一份。 1.1 创建方法 Set本身是一个构造函数,用来生成Set实例,如: const s = new Set() let arr = [2, 3, 4, 5, 6, 2, 2] arr.forEach(x => s.ad
ES6 学习笔记(八)基本类型Symbol
摘要:1、前言 大家都知道,在ES5的时候JavaScript的基本类型有Number、String、Boolean、undefined、object、Null共6种,在es6中,新增了Symbol类型,用于表示独一无二的值。之后又提出了bigInt类型(前面提到过),这里简要的总结Symbol的一些基本
node 学习笔记 模块和包的管理与使用
摘要:1、前言 对于各种编程语言,代码组织是很重要的。而模块是node中的代码组织机制,node中的很多功能都以模块划分,而模块中又封装了许多方法,而且不会改变全局作用域,极大的方便了各开发者的需求。 2、模块操作 2.1 自定义模块 举个例子: hello.js var daysarr = new Ar
JS 学习笔记 (七) 面向对象编程OOP
摘要:1、前言 创建对象有很多种方法,最常见的是字面量创建和new Object()创建。但是在需要创建多个相同结构的对象时,这两种方法就不太方便了。 如:创建多个学生信息的对象 let tom = { name: "Tom", age: 20, sex: "boy", height: 175 }; le