
Javascript
文章平均质量分 89
Javascript
胖就是胖
这个作者很懒,什么都没留下…
展开
-
前端常见的9种设计模式
1. 概念设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。2. 设计原则S –单一职责原则一个程序只做好一件事如果功能过于复杂就拆分开,每个部分保持独立O – 开放/封闭原则对扩展开放,对修改封闭增加需求时,扩展新代码,而非修改已有代码L – 里氏替换原则子类能覆转载 2021-02-22 22:25:34 · 850 阅读 · 0 评论 -
最新数组方法
最新数组方法(包括es6)1 arr.push() 从后面添加元素,返回值为添加完后的数组的长度let arr = [1,2,3,4,5]console.log(arr.push(5)) // 6console.log(arr) // [1,2,3,4,5,5]2 arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素let arr = [1,2,3,4,5]console.log(arr.pop()) // 5console.log(arr) //[1,2,3,原创 2020-09-04 08:48:24 · 131 阅读 · 0 评论 -
前端解决跨域问题的几种方法
1.同源策略如下: URL 说明 是否允许通信 http://www.a.com/a.js http://www.a.com/b.js 同一域名下 允许 http://www.a.com/lab/a.js http://www.a.com/script/b.js 同一域名下不同文件夹 允许 http://www.a.com:8000/a.js http://w转载 2020-09-02 11:06:18 · 227 阅读 · 0 评论 -
身份令牌toKen Vuex + localStorage结合存储
前提:我们都知道在登陆的时候后台会返回一串字符串,也就是token, 也是我们常说的身份令牌, 在后续的请求中只有在请求头中携带了token才会被允许访问后台数据,因此如何存储token就显得尤为重要。如果直接将 ToKen 存储在 Vuex容器中,好处: 1. 获取方便2.响应式缺点: 只要页面一刷新就没数据了。为了持久化,还需要把 Token 放到本地存储(localStorage–除非手动清除,永久存在)持久化所以,我们采取 Vuex 和 本地存储相结合的方式 来存储 Token我们原创 2020-08-22 08:52:11 · 1265 阅读 · 0 评论 -
模块化封装 --- 双ToKen 实现免登录步骤详解
本文大概配置了下 双token免登录/** * 封装 axios 请求模块 */import axios from 'axios'import jsonBig from 'json-bigint'import store from '@/store' import router from '@/router' // 导入路由模块// 配置公共请求头const request = axios.create({ baseURL: 'xxxxxx/', // 基础路径 transfor原创 2020-08-22 08:49:55 · 1312 阅读 · 0 评论 -
try{}catch(){}用法和对应的六种错误类型
如何使用try{}catch(){}<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> &原创 2020-08-11 21:21:20 · 1472 阅读 · 1 评论 -
Javascrip实现图片懒加载的方式
在实际的项目开发中,我们通常会遇见这样的场景:一个页面有很多图片,而首屏出现的图片大概就一两张,那么我们还要一次性把所有图片都加载出来吗?显然这是愚蠢的,不仅影响页面渲染速度,还浪费带宽。为了解决以上问题,提高用户体验,就出现了懒加载方式来减轻服务器的压力,优先加载可视区域的内容,其他部分等进入了可视区域再加载,从而提高性能。懒加载的好处:(1)减少加载时的线程数据,可以使可视区内的图片快速加载(2)减少了同一时间发送到服务器的请求数量,减轻服务器压力懒加载原理一张图片就是一个标签,浏览器是否发原创 2020-07-16 15:48:59 · 377 阅读 · 0 评论 -
template 模板引擎中美化时间的过滤器
使用模板引擎渲染页面的数据后在渲染代码获取时间的数据后// 使用模板引擎渲染页面的数据 var htmlStr = template('tpl-table', res) $('tbody').html(htmlStr)列表数据的模板引擎$value.pub_date获取数据中的时间<td>{{$value.pub_date|dataFormat}}</td>定义美化时间的过滤器template.defaults.imports.dataFormat原创 2020-07-04 10:25:48 · 779 阅读 · 1 评论 -
JavaScript中函数的三种定义方法
方式1 函数声明方式 function 关键字 (命名函数)function fn(){}方式2 函数表达式(匿名函数)var fn = function(){}方式3 new Function()var f = new Function(‘a’, ‘b’, ‘console.log(a + b)’);f(1, 2);var fn = new Function('参数1','参数2'..., '函数体')注意/*Function 里面参数都必须是字符串格式第三种方式执行效率低..原创 2020-06-16 15:45:07 · 378 阅读 · 0 评论 -
节点操作
1.1 节点概述网页中的所有内容都是节点(标签、属性、文本、注释等),在DOM 中,节点使用 node 来表示。HTML DOM 树中的所有节点均可通过 JavaScript 进行访问,所有 HTML 元素(节点)均可被修改,也可以创建或删除。元素节点nodeType 为1属性节点nodeType为2文本节点nodeType为31.2. 节点层级利用 DOM 树可以把节点划分为不同的层级关系,常见的是父子兄层级关系。1.3. 父级节点node.parentNodeparentNode原创 2020-05-25 00:10:43 · 835 阅读 · 0 评论 -
自定义属性操作
1.1获取属性值element.属性 获取内置属性值element.getAttribute(‘属性’);主要获取自定义的属性1.2设置属性值element.属性=‘值’ 设置内置属性值element.setAttribute(‘属性’,‘值’);主要设置自定义的属性1.3. 移出属性element.removeAttribute(‘属性‘)1.4.H5自定义属性自定义属性目的:是为了保存并使用数据。有些数据可以保存到页面中而不用保存到数据库中。自定义属性获取是通过getAttrib原创 2020-05-24 23:54:00 · 441 阅读 · 0 评论 -
常用正则表达式大全
一、校验数字的表达式数字:1*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$正数、负数、和小数:^(-|+)?\d+(.\d+)?$有两位小数的正实数:2+(.[0-9]{2})?$有1~3转载 2020-05-11 09:24:06 · 977 阅读 · 0 评论