
前端
本人在工作中的一些积累的前端技术
甩锅工程师
一个前端工程师,职业技能:甩锅
主要使用vue,也会点服务器的东西
展开
-
js 监听元素是否出现在可视区域--IntersectionObserver
IntersectionObserver原创 2024-02-22 14:40:32 · 3124 阅读 · 0 评论 -
turnjs实现翻书效果
用turnjs实现翻书效果原创 2024-01-11 10:33:59 · 1187 阅读 · 0 评论 -
前端瀑布流怎么布局
假设你需要把页面搭建成这样,有两列元素,每个元素宽度一定,高度不一定。如何实现?原创 2023-11-08 18:06:33 · 424 阅读 · 0 评论 -
前端如何把HTML转成图片再下载
后端给了几张图片,让你自己写个html,然后下载到本地,如何实现这一需求?原创 2023-11-08 17:45:31 · 850 阅读 · 0 评论 -
vue3中使用better-scroll
better-scroll原创 2023-11-06 14:08:45 · 1065 阅读 · 0 评论 -
vue3拖拽排序——vuedraggable
vuedraggable使用原创 2023-11-06 10:36:03 · 640 阅读 · 0 评论 -
node-sass安装报错解决方案
安装node-sass却告知github链接不上,打开地址发现下载地址变成了404。原创 2023-11-06 09:36:48 · 391 阅读 · 0 评论 -
sea.js
seajs原创 2023-08-28 14:59:12 · 305 阅读 · 0 评论 -
vue3--生命周期
vue3的生命周期原创 2023-01-30 14:15:22 · 655 阅读 · 0 评论 -
探究js数据类型和底层原理
js数据类型有哪些,如何判断数据类型,他妈的底层是如何实现的原创 2022-11-23 14:57:41 · 513 阅读 · 0 评论 -
细数数组中的那些骚操作--去重,扁平化
数组去重、扁平化原创 2022-11-22 14:15:51 · 153 阅读 · 0 评论 -
全排列算法-Leetcode 46
给定一个不含重复数字的数组 nums ,返回其所有可能的全排列。你可以 按任意顺序返回答案。原创 2022-09-18 17:05:13 · 141 阅读 · 0 评论 -
推荐一个前端大佬的博客
推荐一个前端大佬的博客原创 2022-07-25 14:19:15 · 250 阅读 · 0 评论 -
细数数组中的那些循环
js中的数组循环forEach、map、find、findIndex、filter原创 2022-06-08 16:12:46 · 151 阅读 · 0 评论 -
基于jenkins+gitee的自动化部署方案(3)-- Nginx
Nginx安装 sudo apt-get install nginx启动:sudo nginx关闭:sudo nginx -s stop配置/etc/nginx/nginx.conf#user nobody;worker_processes 1;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx原创 2022-05-14 19:04:19 · 223 阅读 · 0 评论 -
基于jenkins+gitee的自动化部署方案(2)
在我上一篇文章中相信大家已经安装好了jenkins,并能启动成功。这篇文章叫大家如何利用jenkins+gitee实现自动化部署,当你的代码push到gitee后,自动运行jenkins,并发布到你的服务器上。1. 服务器上安装Node以node13为例下载和解压Nodewget https://nodejs.org/dist/v13.9.0/node-v13.9.0-linux-x64.tar.gztar zxvf node-v13.9.0-linux-x64.tar.gz -C /usr/l原创 2022-05-14 14:55:11 · 3097 阅读 · 0 评论 -
基于jenkins+gitee的自动化部署方案(1)
Jenkins测试环境搭建基于ubuntu 20.04服务器ubuntu 20.041.安装JDKapt-get updatesudo apt-get install -y openjdk-11-jdk输入java -version查看安装结果java version "11.0.9" 2020-10-20 LTSJava(TM) SE Runtime Environment 18.9 (build 11.0.9+7-LTS)Java HotSpot(TM) 64-Bit Server V原创 2022-05-14 14:13:21 · 794 阅读 · 0 评论 -
js 如何判断数组中是否有重复数据
第一种方法,利用异或,^。let arr = [1, 2, 3, 4, 2, 3], x1 = 0for (let i = 0; i < arr.length; i++) { x1 = x1 ^ arr[i];}console.log(x1); //输出 5只要结果大于0就说明数组中又重复数据。第二种方法,利用ES6语法.首先回顾一下,数组如何去重Array.from(new Set(arr))利用这种方法就可以将数组去重,然后Array.from(new S原创 2022-05-07 14:26:02 · 7938 阅读 · 3 评论 -
前端如何做下载-blob
前端下载文件,blob,vue,axios原创 2022-04-25 14:30:09 · 540 阅读 · 0 评论 -
面试题:vuex刷新后消失怎么办
vuex是vue提供的的状态管理工具,但是他刷新后会消失,那该怎么办呢?咱们可以使用 vuex-persistedstate插件在解决这个问题//需要先下载插件npm install vuex-persistedstate--save //在vuex初始化时导入插件import persist from 'vuex-persistedstate'//并使用export default new Vuex.Store({state:{},mutations:{},actions:{原创 2022-03-23 21:34:11 · 406 阅读 · 1 评论 -
vue2 生命周期详解
beforeCreate:创建之前(el、data和message都还是undefined,不可用的)created:创建完毕(能读取到数据data的值,但是DOM还没生成)beforeMount:挂载之前(生成DOM,但此时{{ message }}还没有挂载data中的数据)mounted:挂载完毕({{ message }}已经成功挂载渲染data的值)beforeUpdate:更新之前updated:更新完毕beforeDestroy:销毁之前destroyed:销毁完毕(实例与视..原创 2022-03-05 18:12:16 · 1976 阅读 · 0 评论 -
JS如何调用客户端方法 JS Bridge Hybrid
JsBridge原理Hybrid最核心的就是Navite和H5的双向通讯, 而通讯是完全依赖于native提供的webview容器,那native提供的这个webview容器有什么特点能支撑起h5和native的通讯呢?具体的通讯流程到底是什么样子呢?首先说明有两种方式:URL Schema, 客户端通过拦截webview请求来完成通讯native向webview中的js执行环境, 注入API, 以此来完成通讯一、URL Schema, 客户端拦截webview请求原理在webvie原创 2021-10-28 14:58:59 · 1262 阅读 · 0 评论 -
js 计算时间差(去除休息日,节假日,精确到小时)
// 法定节假日var festival = ["2018-12-30", "2018-12-31", "2019-01-01", "2019-02-03", "2019-02-04", "2019-02-05", "2019-02-06", "2019-02-07", "2019-02-08", "2019-02-09", "2019-02-10", "2019-02-11", "2019-04-05", "2019-04-06", "2019-04-07", "2019-05-01", "20原创 2021-10-26 16:18:48 · 1046 阅读 · 0 评论 -
js 计算时间差(去除法定节假日,休息日,精确到天)
// 法定节假日var festival = ["2018-12-30", "2018-12-31", "2019-01-01", "2019-02-03", "2019-02-04", "2019-02-05", "2019-02-06", "2019-02-07", "2019-02-08", "2019-02-09", "2019-02-10", "2019-02-11", "2019-04-05", "2019-04-06", "2019-04-07", "2019-05-01", "20原创 2021-10-25 16:58:14 · 2137 阅读 · 0 评论 -
JS模块化——AMD、CMD、CommonJs、UMD,ES6 的对比
AMD、CMD、CommonJs 是 ES5 中提供的模块化编程的方案,import/export 是 ES6 中定义新增的CommonJSCommonJS 规范是通过 module.exports 定义的,例如 Nodejs,即由服务端兴起一个文件就是一个模块,拥有单独的作用域普通方式定义的变量、函数。对象都属于该模块通过require加载模块通过exports导入,module.exports来暴露模块eg:const fs = require('fs');module.e.原创 2021-10-19 19:22:23 · 479 阅读 · 0 评论 -
vue中如何让原生dom继承父组件属性
//子组件 <input v-bind="$attrs" /> inheritAttrs: true//可以继承父组件的属性 //父组件 <validate-input placeholder="jjj"></validate-input>原创 2021-10-16 21:34:32 · 458 阅读 · 0 评论 -
一个css小动画
<style> span { margin-top: 100px; display: inline-block; font-size: 30px; animation: jump 5.5s ease; animation-iteration-count: infinite; } @keyframes jump { 0%, 10%, 100% { transform: translateY(0);原创 2021-10-13 13:40:08 · 96 阅读 · 0 评论 -
常见浏览器 JS 对象常见 API 及用法
常见浏览器 JS 对象常见 API 及用法什么是浏览器对象模型BOM :Browser Object Model(浏览器对象模型),浏览器模型提供了独立于内容的、可以与浏览器窗口进行滑动的对象结构,就是浏览器提供的 API其主要对象有:window 对象——BOM 的核心,是 js 访问浏览器的接口,也是 ES 规定的 Global 对象小程序:没有windownode: Globellocation 对象:提供当前窗口中的加载的文档有关的信息和一些导航功能。既是 window 对象属原创 2021-09-02 13:30:55 · 450 阅读 · 0 评论 -
面试题合集之前端篇精选
HTML篇[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0CeLMDxy-1629350204250)(8ABE3EB437B3456CB24E4470B72B42F9)]CSS篇[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pPuX77Ad-1629350204255)(4777A72FD7AB422B87F83CA5E4D16FE7)]JS篇(上)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VJc原创 2021-09-02 13:32:06 · 148 阅读 · 0 评论 -
微信公众号跳转小程序<wx-open-launch-weapp>
微信公众号跳转小程序<wx-open-launch-weapp>官方使用开放标签的条件:微信版本要求为:7.0.12及以上。 系统版本要求为:iOS 10.3及以上、Android 5.0及以上。配置好域名。就可以开始使用了。wx-open-launch-weapp标签需要先引入http://res2.wx.qq.com/open/js/jweixin-1.6.0.js 。以下是关键代码<script type="text/javascript" src="/js/jweixin-1.6原创 2021-06-04 10:13:33 · 907 阅读 · 0 评论 -
十大经典排序算法 动态图解 程序员提高必经之路
https://www.cnblogs.com/onepixel/articles/7674659.html原创 2021-05-13 18:53:31 · 123 阅读 · 0 评论 -
JS面向对象编程 啥是对象?面向对象特点
面向对象编程什么是面向对象编程?面向对象是一种编程思想,经常被拿来和面向过程比较。其实说的简单点,面向过程关注的重点是动词,是分析出解决问题需要的步骤,然后编写函数实现每个步骤,最后依次调用函数。而面向对象关注的重点是主谓,是把构成问题的事物拆解为各个对象,而拆解出对象的目的也不是为了实现某个步骤,而是为了描述这个事物在当前问题中的各种行为。面向对象的特点是什么?封装:让使用对象的人不考虑内部实现,只考虑功能使用 把内部的代码保护起来,只留出一些 api 接口供用户使用继承:就是为了代码的复原创 2021-05-13 18:46:49 · 344 阅读 · 0 评论 -
常见浏览器 JS 对象常见 API 及用法 BOM
常见浏览器 JS 对象常见 API 及用法https://segmentfault.com/a/1190000014212576什么是浏览器对象模型BOM :Browser Object Model(浏览器对象模型),浏览器模型提供了独立于内容的、可以与浏览器窗口进行滑动的对象结构,就是浏览器提供的 API其主要对象有:window 对象——BOM 的核心,是 js 访问浏览器的接口,也是 ES 规定的 Global 对象小程序:没有windownode: Globellocatio原创 2021-05-13 18:45:52 · 343 阅读 · 0 评论 -
内嵌的H5跳转小程序
首先在需要跳转的页面引入js,一定要1.3.2以上的<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>跳转,注意pages前的‘/’wx.miniProgram.navigateTo({ url: '/pages/scenic/scenic_detail/scenic_detail?id='+id+'&title='+t原创 2021-04-14 16:27:06 · 162 阅读 · 0 评论 -
浏览器事件模型捕获、冒泡
浏览器中有两种事件模型,那就是捕获和冒泡。当div发生嵌套时,点击其中一个div,所发生的事件并不会仅仅只针对被点击的div,他会触发自己父元素的事件。如图所示,执行顺序从window向自己的为捕获阶段;反之为冒泡阶段。执行过程总是先执行捕获在执行冒泡。例子如下。<style> #parent{ width: 500px; height:500px; background: red; margin:auto;原创 2021-04-12 19:08:06 · 338 阅读 · 0 评论 -
关于Promise A+ 规范 Promise如何运行 手写Promise
Promise A+ 规范术语Promise 有太狠方法的对象或者函数thenable 是一个有then方法或者是函数value Promise状态成功时的值, resolve(value),string number boolean undefined thenable promisereason Promise状态失败时的值,reject(reason)exception 使用throw抛出的异常规范Promise status有三种状态,他们之间的流转关系1.pending原创 2021-04-12 17:01:24 · 113 阅读 · 0 评论 -
谈谈vue中的keep-alive怎么使用
keep-alive是vue中内置的组件,用于缓存活动组件。假设你的页面结构如下,父组件中有两个子组件,你需要不同的切换路由。在正常情况下,如果你切换到About组件,那么就会触发Home组建的destroyed生命周期函数和Home组建的created生命周期函数;反之亦然。两个组件就会不同的销毁创建,创建销毁。有时候出于性能考虑或者是业务逻辑考虑,不想销毁这个组件,该怎么办呢?这个时候keep-Alive就派上用场了。首先,你需要用keep-alive包裹住你需要操作的router-view,原创 2020-11-19 22:32:21 · 228 阅读 · 0 评论 -
前端 加密方法之base64
我们来看看,在javascript中如何使用Base64转码var str = 'javascript';window.btoa(str)//转码结果 "amF2YXNjcmlwdA=="window.atob("amF2YXNjcmlwdA==")//解码结果 "javascript"原创 2020-10-13 14:46:01 · 329 阅读 · 0 评论 -
Vue不用v-model实现双向数据绑定
Vue不用v-model实现双向数据绑定 <div id="app" > <input type="text" :value="msg" @input="setMsg"> {{msg}} </div><script> const vue = new Vue({ el:"#app", data(){ return{ msg:""原创 2020-09-07 20:10:27 · 748 阅读 · 0 评论 -
微信分享那些事 分享出去图片不显示
官方地址,请点击常见bug:一、分享出去图片不显示。1.可能原因是因为官方规定图片大小不能超过32K,应先确认图片大小。如果超出大小,先压缩。 二、分享出去发现分享出的链接是当前页面,图片也没有。1、可能原因是因为你分享的参数中带了中文参数。安卓手机会对链接中的中文自动转码,而苹果手机不会。所以,分享钱先转码,或者不要带中文参数。2、没有获取到权限验证。请确认代码执行顺序,是否获取到权限,再调用分享。3、引入的js文件版本与调用的接口不对应。微信官方有时候会更新js文件,导致接口过期不可用原创 2020-08-12 15:36:46 · 3723 阅读 · 0 评论