自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 vue中实现组件按需加载

打包构建应用时,JavaScript 包会变得非常大,影响页面加载。如果我们能把不同路由对应的组件分割成不同的代码块,然后当路由被访问的时候才加载对应组件,这样就更加高效了。结合 Vue 的异步组件和 Webpack 的代码分割功能,轻松实现路由组件的懒加载。1.异步组件:以工厂函数的形式来定义组件:这个工厂函数会异步解析你的组件定义。Vue 只有在这个组件需要被渲染的时候才会触发该工厂函数,且会把结果缓存起来供未来重渲染,这个工厂函数会收到一个 resolve 回调(注意和promise的reso

2022-01-18 17:22:20 3266

原创 前端模块化(CMJ和ESM)

12 es6模块化在ES6出现之前,JS不像其他语言拥有“模块化”这一概念,比如python的import,就连css也有@import,于是为了支持JS模块化,我们使用类、立即执行函数或者第三方插件(RequireJS、seaJS)来实现模块化,在 ES6 之前,社区制定了一些模块加载方案,最主要的有 CommonJS 和 AMD 两种。前者用于服务器,后者用于浏览器。es6成为浏览器和服务器通用的模块解决方案。一个文件就是一个模块, 模块中的数据都是私有的,ES6模块化模块和NodeJS中一样, 可

2022-01-18 17:05:14 3070

原创 在vue-cli中使用jquery

1.导入jquery输入命令cnpm install jquery --save查看package.json是否安装成功 2.修改vue.config.js添加以下代码语句const webpack = require("webpack");module.exports = { configureWebpack: { plugins: [ new webpack.ProvidePlugin({ $: "j

2022-01-08 18:57:06 564

原创 一道奇葩的“具名函数自调用”的面试题

1.题目如下:var a = 1;(function a() { a = 2; console.log(a);})()console.log(a);输出结果是:是不是很奇怪为什么立即执行函数里面的a是函数本身,外部的a为什么没有被修改和我平时做题的按照作用域链查找变量a有了很大的冲突,百思不得其解,零零散散搜索了很多博客最后终于懂了首先我们要知道以下几个概念概念1js的预解释机制(函数变量提升)不会提升立即执行函数,而是等代码执行到具体位置的时候,函数定义与调用一起执行

2021-12-23 12:37:29 578

原创 JS中的&&和||布尔操作符

只有当两个操作数都为布尔值的时候,布尔操作符才会进行计算返回一个布尔值,计算规则(真值表)如下:逻辑与 &&逻辑或||当两个操作数其中一个为非布尔值时,将遵循以下规则:逻辑与 && 如果第一个操作数是对象,则返回第二个操作数; 如果第二个操作数是对象,则只有在第一个操作数的求值结果为 true 的情况下才会返回该对象; 如果两个操作数都是对象,则返回第二个操作数; 如果有一个操作数是 null,则返回 null; 如果有一个操作数是 ..

2021-12-16 10:44:11 1047

原创 js symbol类型详解以及symbol的三大应用场景

8.symbol1.什么是symbol什么Symbol?Symbol是ES6中新增的一种数据类型, 被划分到了基本数据类型中基本数据类型: 字符串、数值、布尔、undefined、null、Symbol引用数据类型: ObjectSymbol的作用用来表示一个独一无二的值格式let xxx=Symbol(‘标识字符串’);为什么需要Symbol?为了避免第三方框架的同名属性被覆盖在企业开发中如果需要对一些第三方的插件、框架进行自定义的时候可能会因为添加了同名的属性

2021-12-15 21:23:23 27657 1

原创 kmp算法,求解next数组详细思路

kmp算法思路,求解next数组思路

2021-12-10 11:10:43 1170 2

原创 Vue-cli中使用image-webpack-loader压缩图片

1.安装请一定使用淘宝镜像cnpm安装,否则安装的包是不完整的如果之前使用了npm安装,请先写在再重新安装$ cnpm install image-webpack-loader --save-dev2.配置vue.config.jschainWebpack: config => { const imagesRule = config.module.rule('images') imagesRule .use('image-webpac

2021-11-01 10:14:17 962

原创 在Vue中使用iscroll(详细步骤)

1.下载iscroll下载地址:iscroll-probe.js2.封装组件在vue里面使用iscroll需要封装一个iscroll滚动组价创建ScollView.vue目录结构如下图:导入iscroll<template>结构采用iscroll官网推荐的的三层解构<template> <!-- ref用以获取wrapper的dom元素 --> <div id="wrapper" ref='wrapper'>

2021-10-28 21:38:59 2853

原创 Vue中引入swiper报错--已解决

1.首先上报错信息These dependencies were not found:swiper in ./node_modules/vue-awesome-swiper/dist/vue-awesome-swiper.jsswiper/css/swiper.css in ./node_modules/cache-loader/dist/cjs.js??ref–12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist

2021-10-24 10:45:21 28983 2

原创 数组解构赋值的特点

前提,在用js代码写翻转链表的时候var reverseList = function(head) { let [p, c] = [null, head] while(c){ // c.next=p; // p=c; // c=c.next [c.next, p, c] = [p, c, c.next] } return p};刚开始使用注释的三行写代码,但是显然是不可行的,因为当c.

2021-09-20 22:44:47 233

转载 浏览器的线程有哪些

原文:https://www.cnblogs.com/hustxychen/p/9412656.html浏览器的线程有哪些浏览器的渲染进程是多线程的。js是阻塞单线程的。浏览器包含有以下线程:1.GUI渲染线程负责渲染浏览器界面,解析HTML,CSS,构建DOM树和RenderObject树,布局和绘制等。当界面需要重绘(Repaint)或由于某种操作引发回流(reflow)时,该线程就会执行注意,GUI渲染线程与JS引擎线程是互斥的,当JS引擎执行时GUI线程会被挂起(相当于被冻结了),GU

2021-08-27 19:35:44 483

原创 函数默认形参的作用域问题(图解)

1. 函数变量的作用域链先在当前函数作用域内部查找是否含有变量,如果没有,就去上一级作用域中查找举个栗子: let x = 3; let y = 10; function test1() { let x = 5; function test2() { console.log(x, y); } return test2(); } test1() //输出结果为5,10对上述例子的图解2. 理解了函数作

2021-08-07 11:44:18 619

原创 [[1, 2], [3, 4]].map(([a, b]) => a + b)返回[3,7]的原因

1.对数组的map方法的解释1. 格式:array.map(function(item,index,arr){})参数1item,必须当前元素的值参数2index,可选当前元素在数组中的索引值参数3arr,可选当前元素属于的数组对象2. 作用:对数组中的每一个元素进行处理,返回新的元素。2.对箭头函数([a, b]) => a + b的理解1. 示例x => x * x上面的箭头函数相当于:function (x) { retur

2021-08-05 17:02:04 356

原创 VScode设置jquery和zepto代码自动提示

1.ctrl+`打开终端2.运行以下代码:如果是jquery npm install @types/jquery --save 如果是zepto npm install @types/zepto --save 3 . 可以看到项目文件夹下出现了对应配置文件4.再进入js文件中输入代码已经有提示了!...

2021-08-02 17:19:44 1185

原创 JS高级部分笔记(尚硅谷教程)

JS高级部分0.JS高级思维导图1.基础深入总结0.思维导图1.数据类型1.分类1. 基本类型2. 引用类型2.判断1. typeof(返回数据类型的字符串表达)2. instanceof(判断对象的具体类型是否属于XXX)3. ===3.相关问题1.undefined和null的区别?2. 什么时候给变量赋值为null?3. 严格区别变量类型与数据类型?2. 数据,变量和内存1. 什么是数据2. 什么是内存3. 什么是变量4. 三者之间的关系5.相关问题1.关于赋值与内存的问题?2.关于引用变量赋值问题?

2021-08-02 10:22:13 2452

原创 HTML5笔记

HTML5详解笔记1.浏览器http理解1.浏览器和服务器2.浏览器访问网页原理3.浏览器请求数据过程4.什么是url5.补充2.HTML1.认识HTML2.HTML发展史3.html结构理解4.字符集问题6.字符实体5.DTD文档声明7.❗❗各大标签介绍1. `1.浏览器http理解1.浏览器和服务器1. 什么是浏览器像qq一样是安装在电脑上的软件2. 浏览器功能将网页渲染出来给用户查看让用户能够通过浏览器和网页交互 (点击,输入,拖动等操作和网页交互)五款主流浏览器(IE,chro

2021-08-01 17:18:12 510

原创 移动端开发四种适配方案详解

web移动端开发0.思维导图1.前端开发常用单位2.视口2.1 视口定义2.2 移动端视口宽度9802.3 设置移动端不自动缩放网页尺寸3.移动端常见适配方案1.媒体查询@media2.界面自动跳转0.思维导图#mermaid-svg-iQemmYrmjEoq5H0O .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-

2021-07-30 20:31:35 4957 1

原创 前端用户信息管理界面(上传图片到头像并显示)

界面展示如下以下为头像图片上传代码实现步骤html部分:我们需要通过file表单来上传图片,但是为了美观我们选择把file表单隐藏,通过直接点击图片触发file表单的形式上传文件 <div class="imgupload"> <p>点击添加头像</p> <img src="./img/添加.png" alt="" id=.

2021-07-23 16:54:31 5322

原创 vue-cli开发项目基础教程---包括组件,router,vuex的使用方法

( 0 ). 先了解一下打包好的目录结构,明确各个组件或者是路由器或者是子组件应该放置在哪一个位置node_ modules文件夹:存储了依赖的相关的包public文件夹:任何放置在public文件夹的静态资源都会被简单的复制,而不经过webpack。你需要通过绝对路径来引用它们一般用于存储一些永远不会改变的静态资源或者webpack不支持的第三方库src文件夹:代码文件夹存项目源码|----assets文件夹: 存储项目中自己的一些静态文件(图片/字体等),会经过webpack处理|----

2021-07-20 11:42:29 244

原创 谷歌vue调试工具devtools安装的傻瓜教程(图文详解)

1.去Chrome的插件网下载Vue.js devtools插件,链接如下https://www.cnplugins.com/devtool/vuejs-devtools/2.下载完成之后会得到以下文件我们点击重命名,将文件后缀改为.rar,把文件修改为以下形式3.点击鼠标右键,选择解压到“…”得到以下解压过后的文件夹4.进入谷歌浏览器界面,点击右上角竖着的三点,点击‘“更多工具—拓展程序”5.点击加载已解压的拓展程序,把我们刚刚解压的文件夹拖进来5.安装成功6.进行测试,

2021-07-12 17:46:06 2145 2

原创 JS中的定时器封装函数

定时器是js当中非常常用的一个windows对象的方法,把他封装后加入自己的js库里面会带来很多便捷function move(obj, attr, target, speed, callback) { //关闭上一个定时器 clearInterval(obj.timer); //获取元素目前的位置 var current = parseInt(getStyle(obj, attr)); //判断速度的正负值 //如果从0 向 800移动,则speed为正 //如果从800向0移动,.

2021-04-08 21:07:33 1182 1

原创 JS BOM DOM 图片自动切换练习(setInterval) 当中如何判断一个事件已经被触发,如何处理定时器连续开启的问题

前提:利用setInterval进行一个自动的4张图片的切换展示,点击button按钮开启轮播模式,如果用户想要暂停,则将鼠标移动到图片上,鼠标移出图片则继续轮播这里面有一个问题就是,用户点击了按钮才开启自动切换,但是onmouseout事件会在浏览器一加载出来,只要用户的鼠标移动进去并移出图片就开启图片的自动切换。最简单的一个方法就是设置一个isclick判定值,如果事件已经被触发,就变成truevar isclick=false;......btn01.onclick=function(.

2021-04-07 23:49:21 281

iscroll-probe.js

iscroll-probe.js

2021-10-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除