- 博客(25)
- 收藏
- 关注
转载 js 小数点精度问题解决
项目中遇到了小数点后4位的数据转化为 % 的需求; list: { type5: 0.25, type4: 0.0833, type3: 0.1667, type2: 0.3333, type1: 0.1667 },当小数点乘以100后,比如0.1667*100会变成 0.1669999998 ,明显错误;解决此问题的方法函数://除法function accDiv(arg1,arg2){
2022-03-16 15:49:15 975
原创 数组结构转tree
业务中经常会遇到 数组结构转tree的场景: let arr = [ { id: 1, name: '部门1', pid: 0 }, { id: 2, name: '部门2', pid: 1 }, { id: 3, name: '部门3', pid: 1 }, { id: 4, name: '部门4', pid: 3 }, { id: 5, name: '部门5', pid: 4 }, ]转化目标:[ {
2022-03-03 16:10:50 797
原创 event loop 事件循环理解
运行JavaScript和渲染都有规定的时间段,基本是确定,这要归功于 事件环 event loop.网页有一个主线程(mian thread),为什么称之为主线程?因为这里发生着大量的事件,是JavaScript发生的地方,是渲染发生的地方,是DOM存在的地方。这意味着网页上的大部分活动是有确定性的顺序,我们不会同时运行多段代码去修改同一个DOM。这意味着主线程上的任务需要大量的时间,比如200ms,这对用户交互体验来说是一段很长的时间。因此,虽然有主线程,但是还是需要其他线程用来处理网络请求、编
2022-03-02 16:44:58 333
原创 清除浮动方法和原理
清除浮动的几种方式,及原理?清除浮动简单,但这题要引出的是BFC,BFC也是必考的基础知识点::after / <br> / clear: both 创建父级BFC(overflow:hidden) 父级设置高度BFC (块级格式化上下文),是一个独立的渲染区域,让处于BFC内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响。触发条件:根元素 position: absolute/fixed display: inline-block / table ...
2022-02-15 16:31:44 90
原创 ES6、ES7、ES8、ES9、ES10、ES11、ES12 新特性汇总
一、ES6(2015)1、类:class 可以看作 es6 的语法糖classApp{constructor(name){this.name=123;}console(){console.log(this.name);}}const b= new App( 123);b.console(); // 123------------------------------------------------------------------...
2022-02-14 11:12:25 2880 1
原创 JavaScript-判断数据类型
基本数据类型 有6种:Number、String、Boolean、undefined、symbol、Null。ES6 中新增了一种 Symbol ,表示独一无二的值。ECMAScript包括两个不同类型的值:基本数据类型和引用数据类型。 基本数据类型指的是简单的数据段,引用数据类型指的是有多个值构成的对象。引用类型数据: 也就是对象类型Object type,比如:Object 、Array 、Function 、Data等。JS中该如何判断数据属于哪种数据类型呢?1、type
2022-02-08 15:49:33 469
原创 axios设置请求头部 Content-Type
按照axios文档的格式设置headers:在设置Content-Type 时怎么也设置不了,搜索资料后知道要设置data。 initSession() { return axios({ method: "post", url: "/government/rest/admin/initSession", headers: { "Content-Type": "application/json" }, data: true });.
2022-01-26 10:40:41 2009 1
原创 echarts开发全国人才流向图
<template> <div class="box" ref="echartsMap"></div></template><script>const echarts = require("echarts");// import '../../node_modules/echarts/map/js/world.js'import "./js/china.js"; // 引入中国地图数据export default { na.
2022-01-25 14:27:36 971
原创 vue axios 封装时如何写死cookie
// 创建axios实例var instance = axios.create({ timeout: 1000 * 300 });instance.defaults.withCredentials = true;设置instance.defaults.withCredentials = true;然后document.cookie = "SESSION=5edq1cd9-3437-4214f-87s51-5f8qq38wew0q;";在本地开发的时候,就可以写死cookie,绕过后.
2022-01-24 14:51:09 1019
原创 一个下拉选择省市区的组件
项目中的表单经常涉及下拉选择,有些需要层级关联,比如选择省市区,有些则不需要,只有一级。现自己封装了一个符合项目ui设计的下拉框。要求:符合AMD规范;依赖jq;兼容ie8;组件代码如下:define('vDrop', [ 'jquery'], function ($) { 'use strict'; /** * 组件名:v-drop,一个下拉框组件* * @exports vDrop* @author Xx-vV* @version 1.0* @class*/
2022-01-11 17:51:25 762
原创 Node.js 学习笔记
1.Node.js 的特性:Node.js可以解析js代码(没有浏览器安全级别的限制)提供很多系统级别的API,比如:a.文件的读写(File System)b.进程的管理(Process)c.网络通信(HTTP/HTTPS)...
2022-01-07 15:35:55 185
原创 axios封装总结以及拦截重复提交设置
项目采用vue-cli脚手架,在src文件夹内新建request文件夹,新建http.js。1.工程目录如下:2.实例axios安装axios后,在http.js中:(1)引入axios:import axios from "axios";import store from "../store/index";//vuex中存储登录token(2)状态码处理方法:/** * 请求失败后的错误统一处理 * @param {Number} status 请求失败的状态码
2022-01-07 15:03:58 1294
原创 vue3理解-1
什么是虚拟DOM?真实的DOM,是<div id="t"></div>,html元素。更改html元素需要使用 document.getElementById("t").html("1111"),等去操作。页面上通常会有成百上千个DOM,这样频繁的操作DOM明显是个很大的工作量。vue的作用就是替我们省去这些频繁重复的工作,进行大量的js调用。如果进行js调用时要查找成千上百个DOM,明显会变得很慢,这就是为何包含vue在内的前端框架使用虚拟DOM。虚拟DOM是表示DOM
2022-01-06 15:07:37 451
原创 微信小程序canvas实现签名功能
一、wxml<view class="paper"> <canvas class="handWriting" disable-scroll="true" bindtouchstart="touchstart1" bindtouchmove="touchmove1" canvas-id="handWriting1"></canvas></view><view class="image" hidden="{{src?false:true}}"&g
2021-12-31 17:52:10 644
原创 ES6认识--globalThis 对象
globalThis 对象 JavaScript 语言存在一个顶层对象,它提供全局环境(即全局作用域),所有代码都是在这个环境中运行。但是,顶层对象在各种实现里面是不统一的。浏览器里面,顶层对象是window,但 Node 和 Web Worker 没有window。 浏览器和 Web Worker 里面,self也指向顶层对象,但是 Node 没有self。 Node 里面,顶层对象是global,但其他环境都不支持。 同一段代码为了能够在各种环境,都能取到顶层对象,现在一般是使用thi...
2021-12-31 17:44:15 556
原创 服务端开启gzip压缩配置与效果对比
为了提升页面加载速度,可以在服务端(nginx)开启gzip网页压缩,减小网络传输过程中文件大小。从而减小服务端带宽限制的压力。1.压缩实现原理网页压缩是一项由WEB服务器和浏览器之间共同遵守的协议,也就是说WEB服务器和浏览器都必须支持该技术,所幸的是现在流行的浏览器都是支持的,包括Chrome、IE、FireFox等;服务器有Nginx、Apache、IIS等。双方的协商过程如下:首先浏览器请求某个URL地址,并在请求的头(head)中设置属性acc...
2021-12-31 14:31:02 2541
原创 前端性能优化
一、html1、html语义化HTML语义化的原因:l即使在没有CSS样式的条件下,也能很好地呈现出内容结构、代码结构;l语义化HTML会使HTML结构变的清晰,有利于维护代码和添加样式;l方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)以意义的方式来渲染网页;l提升搜索引擎优化(SEO)的效果。和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;l便于团队开发和维护,语义化更具可读性,是下一步吧网页...
2021-12-31 14:27:33 382
原创 如何处理非AMD规范的js
使用require的config中的shim解决:比如:framework.js是不遵守AMD规范的,在quikTip.js文件中require framework模块之前必须先处理下framework.js使其符合AMD规范,代码如下:require.config({ baseUrl:'js/utily',//指定js文件的基路径 shim:{ 'framework':{//这个键名为要载入的目标文件的文件名,不能随便命名否则加载fram.
2021-12-16 11:23:37 789
原创 js继承,原型,原型链
一、使用class实现继承1.class 的使用class Student { constructor (name, score){ this.name = name; this.score = score } introduce () { console.log(`我的名字是${this.name},我的成绩是${this.score}`) }}const student = new Student(
2021-12-13 17:43:21 466
原创 模块化的理解和requirejs的选型
前言:在公司的学习论坛上看到了关于模块化的帖子,写个学习笔记,加深印象。一.什么是模块化?为什么要模块化?1.模块化:将一个复杂的程序依据一定的规则(依据)封装成几个块(文件),并进行组合在一起,这叫模块化。块的内部数据和实现是私有的,只是向外部暴露一些接口(方法)与外部其他模块通信。2.思路:按功能拆分;数据私有;方便查找;可以复用;模块内部数据私有了,但是也需要与别的模块建立通讯,所以需要暴露一些接口(方法/api)。二.模块化的进化过程1.第一阶段:全.
2021-12-10 14:36:44 381
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人