前端
上天注定的姻缘最大嘛!
node java 前端领域 小白
展开
-
前端axios请求封装以及拦截器
前端axios请求封装以及拦截器/* * @Descripttion: * @Author: sueRimn * @Date: 2020-07-07 09:31:13 */import axios from "axios";import QS from "qs";import { message } from "antd";import store from "../store";axios.defaults.timeout = 50000; //设置接口响应时间// axios.d原创 2020-11-27 13:29:02 · 282 阅读 · 0 评论 -
vue MVVM数据劫持
vue MVVM数据劫持 var data = { name: 'evenyao', list: [1, 2, 3]}observe(data)function observe(data) { if(!data || typeof data !== 'object') return for(let key in data) { let val = data[key] Object.defineProperty(data, key, { enumera原创 2020-11-26 10:01:38 · 127 阅读 · 0 评论 -
如何去实现一个js深拷贝
如何去实现一个js深拷贝const mapTag = "[object Map]";const setTag = "[object Set]";const arrayTag = "[object Array]";const objectTag = "[object Object]";const boolTag = "[object Boolean]";const dateTag = "[object Date]";const errorTag = "[object Error]";cons原创 2020-11-26 10:00:16 · 185 阅读 · 1 评论 -
前端js如何去实现一个Promise
前端js如何去实现一个Promiseconst PENDING = "pending";const FULFILLED = "fulfilled";const REJECTED = "rejected";function Promise(excutor) { let that = this; // 缓存当前promise实例对象 that.status = PENDING; // 初始状态 that.value = undefined; // fulfilled状态时 返回原创 2020-11-26 09:59:27 · 202 阅读 · 0 评论 -
前端开发中的输入框的防抖和节流
前端开发中的输入框的防抖和节流//防抖<!DOCTYPE html><head> <meta charset="UTF-8"></head><body> 用户名: <input onblur="checkUsername" placeholder="请输入用户名" id="username" /> <script> var timer; var count原创 2020-11-26 09:57:24 · 668 阅读 · 0 评论 -
使用 JavaScript Proxy 实现Vue里面简单的数据绑定
使用 JavaScript Proxy 实现简单的数据绑定<body> hello,world <input type="text" id="model"> <p id="word"></p></body><script> const model = document.getElementById("model") const word = document.getElementById("word") v原创 2020-11-26 09:56:31 · 169 阅读 · 0 评论 -
如何去手写 filter 方法
手写 filter 方法Array.prototype.filter = function (fn, context) { if (typeof fn != "function") { throw new TypeError(`${fn} is not a function`); } let arr = this; let reuslt = []; for (var i = 0; i < arr.length; i++) { let temp = fn.call(原创 2020-11-26 09:54:24 · 676 阅读 · 1 评论 -
合格的前端如何去进行性能优化
前端如何去进行性能优化 //页面优化 DNS解析时间: domainLookupEnd - domainLookupStart TCP建立连接时间: connectEnd - connectStart 白屏时间: responseStart - navigationStart dom渲染完成时间: domContentLoadedEventEnd - navigationStart 页面onload时间: loadEventEnd - navigationStart原创 2020-11-26 09:52:28 · 167 阅读 · 0 评论 -
js的函数柯里化是怎么样的
函数柯里化//解释//是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数//并且返回接受余下的参数而且返回结果的新函数的技术。// 普通的add函数function add(x, y) { return x + y;}// Currying后function curryingAdd(x) { return function (y) { return x + y; };}add(1, 2); // 3curryingAdd(1)(2); //原创 2020-11-25 15:40:55 · 66 阅读 · 0 评论 -
对象数去重
对象数去重 //reduce arr.reduce(function(prev,cur,index,arr){ ... }, init); // arr 表示原数组; // prev 表示上一次调用回调时的返回值,或者初始值 init; // cur 表示当前正在处理的数组元素; // index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1; // init 表示初始值。 const res原创 2020-11-25 15:38:48 · 90 阅读 · 0 评论 -
js对象数组排序具体实现
对象数组排序 compare(key) { return function (a, b) { var value1 = a[key]; var value2 = b[key]; return value1 - value2; }; }, //sort()方法在原数组上排序,不生成副本。 let result = res.data.sort(this.compare('parentId'));...原创 2020-11-25 15:37:48 · 69 阅读 · 0 评论 -
js的Promise.all 并发限制实现
Promise.all 并发限制Promise.all 可以保证,promises 数组中所有 promise 对象都达到 resolve 状态,才执行 then 回调。npm 中有很多实现这个功能的第三方包,比如 async-pool、es6-promise-pool、p-limit,这里我直接拿 async-pool 的代码来分析一下实现原理function asyncPool(poolLimit, array, iteratorFn) { let i = 0; const ret原创 2020-11-25 15:34:39 · 946 阅读 · 0 评论 -
js中的addEventListener参数含义
addEventListener的三个参数的含义capture: Boolean,表示 listener 会在该类型的事件捕获阶段传播到该 EventTarget 时触发。once: Boolean,表示 listener 在添加之后最多只调用一次。如果是 true, listener 会在其被调用之后自动移除。passive: Boolean,设置为 true 时,表示 listener 永远不会调用 preventDefault()。如果 listener 仍然调用了这个函数,客户端将会忽略它并抛原创 2020-11-25 15:33:09 · 711 阅读 · 0 评论 -
HTTP状态码类型有哪些?
HTTP状态码2XX(Success 成功状态码)200 OK 表示从客户端发来的请求在服务器端被正常处理了204 请求成功,但是没有资源可以返回 一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新信息内容的情况下使用206 对资源某一部分的请求 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的 GET 请求响应报文中包含由 Content-Range 指定范围的实体内容3XX(Redirection 重定向状态码)301 永久性重定向302 临时性重定向303 该状原创 2020-11-25 15:28:33 · 181 阅读 · 0 评论 -
笨鸟儿 静态布局、自适应布局、流式布局、响应式布局、弹性布局等的概念和区别
一、静态布局(Static Layout)即传统Web设计,网页上的所有元素的尺寸一律使用px作为单位。1、布局特点:不管浏览器尺寸具体是多少,网页布局始终按照最初写代码时的布局来显示。常规的pc的网站都是静态(定宽度)布局的,也就是设置了min-width,这样的话,如果小于这个宽度就会出现滚动条,如果大于这个宽度则内容居中外加背景,这种设计常见与pc端。2、设计方法: PC:居中布局...转载 2019-09-09 10:05:26 · 139 阅读 · 0 评论 -
图片切换的控制
如图做一个类似网易广告 点击左边的相关新闻就可以切换中间的图片!下面我们来分析一下。1.获取相关节点 左边的五个和中间的一个盒子2.绑定点击事件3.设置左边盒子的背景变化那么我们用如下代码 ! alldiv[0].style.backgroundColor="black" img2.src=arr2[0] ...原创 2019-09-06 11:42:44 · 119 阅读 · 0 评论