自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Vue 搜索匹配并高亮显示匹配内容

匹配到的内容高亮显示,效果如下代码如下// 渲染部分<p v-for="item in machlist" :key="item.index"><span v-for="item1 in item" :key="item1.index" :style="{color: item.color}">{{item.text}}</span><p>// data 部分data(){ return{ searchList:[ {

2021-07-26 15:49:34 911

原创 自学 vue-element-admin 笔记-----介绍

一. vue-element-admin 介绍vue-element-admin 是一个后台前端解决方案,它基于vue和element-UI实现。它使用了最新的前端技术栈,内置了 i18 国际化解决方案,动态路由,权限验证,提炼了典型的业务模型,提供了丰富的功能组件,它可以帮助你快速搭建企业级中后台产品原型。1.集成方案 vue-element-admin(不适合作为基础模板开发,因为本项目集成了很多你可能用不到的功能,会造成不少的代码冗余。如果你的项目不关注这方面的问题,也可以直接基于它进行二次开发。

2021-07-15 13:52:53 521

原创 数组的 pop push shift unshift 分别是什么?

思考功能是什么?返回值是什么?是否会对原数组造成影响?const arr = [10,20,30,40]let res = arr.pop()console.log(res,arr) // 40 [10,20,30] 弹出数组的最后一个元素,返回值是数组的最后一个元素let res = arr.push(50)console.log(res,arr) // 5 [10,20,30,40,50] 在数组末尾添加一个元素,返回值是数组长度let res = arr.unshift(5)

2021-06-30 20:39:44 168

原创 手写深度比较isEqual

function isObject(obj){ return typeof obj === 'object' && obj !== null // 判断是否为数组或对象}function isEqual(obj1,obj2){ if(!isObject(obj1) || !isObject(obj2)){ return obj1 === obj2 // 不是数组或对象,直接比较 } if(obj1 === obj2){ return true // 全等直接返回true

2021-06-30 20:27:48 62

原创 var const let 的区别

var 是 ES5 语法const let 是 ES6 语法var 有变量提升var 和 let 定义的是变量,可重新对其赋值;const 定义的是常量,不可对其重新赋值。let const 有块级作用域,var 没有var a = 100console.log(a) // 100console.log(a) // undefinedvar a = 100// 为何没报错?ES5的规则,执行一段代码时,会先查找有没有var定义的变量,有的话会提前声明出来。即变量提升// 上面的代码相当

2021-06-30 19:50:51 45

原创 Vue 条件渲染

v-if v-else 的用法v-if 和 v-show 的区别v-if 和 v-show 的使用场景<template> <div> <p v-if="type === 'a'">A</p> <p v-else-if="type === 'b'">B</p> <p v-else>C</p> <p v-show="type === 'a'">A by v-show<

2021-06-30 17:04:45 39

原创 Vue watch深度监听

为何深度监听?当 watch 监听引用类型时拿不到 oldValdata(){ return{ name: 'xxx', info: { name: 'xxx' } }},watch:{ name(oldVal,val){ // 监听值类型不用深度监听 console.log(oldVal,val) }, info:{ // 监听引用类型需要深度监听 handler(oldVal,val){ console.log(oldVal,val)

2021-06-30 16:45:08 125

原创 http缓存

关于缓存什么是缓存?页面加载完成一次后,再次加载页面,有些资源没必要再次向服务端获取,暂存一份。为什么要缓存?优化网络请求,让页面加载更快哪些资源可以被缓存?通常情况下:静态资源(js css img)可以被缓存,html不能被缓存强制缓存浏览器向服务器初次发送请求,服务器返回资源和 Cache-Control 。当服务器认为该资源可以被缓存时,才返回 Cache-Control ,如果服务器认为该资源不适合被缓存时,就不会返回 Cache-Control 。浏览器再次发送请求时

2021-06-29 09:12:23 76

原创 手写一个支持普通绑定和事件代理的事件绑定函数

function bindEvent(elem,type,selector,fn){ if(fn === null){ // 传入3个参数时 fn = selector selector = null } elem.addEventListener(type,event => { const target = event.target if(selector){ // 代理绑定 if(target.matches(selector)){ // 判断当前元

2021-06-28 18:45:05 84

原创 JS异步的面试题

1.描述event loop 的机制(可画图)例:① 同步代码一行一行的放在 Call Stack 执行② 遇到异步,会先记录下,等待时机(定时,网络请求等)③ 时机到了,就移动到 callback Queue④ 如果Call Stack 为空(即同步代码执行完)Event Loop 开始工作⑤ 轮询查找 callback Queue 如有则移动到 call Stack 执行⑥ 然后继续轮询查找2.什么是宏任务和微任务,两者区别① 宏任务:setTimeout,setInterval,A

2021-06-28 15:14:40 735

原创 手写一个Promise加载图片

loadImg(src){ return new Promise((resolve,reject) =>{ const img = document.createElement('img') img.onload = () =>{ resolve(img) } img.onerror = () =>{ reject(new Error('图片加载失败')) }

2021-06-28 08:11:37 76

原创 创建10个<a>,点击弹出序号

let i, afor(i = 0;i < 10; i++){ a = document.createElement('a') a.innerHTML = i + '<br>' a.addEventListener('click',function(e){ e.preventDefault() alert(i) }) document.body.appendChild(a)}//此时点击所有的<a>弹出的数字都为10let afor(

2021-06-23 17:51:41 187

原创 JS原型和原型链

代码创建一个People类和Student类和一个Teacher类。/* 创建一个People类 */class People{ constructor(name){ this.name = name } eat(){ concole.log(this.name + 'eat something') }}/* 创建一个继承People的Student类 */class Student{ constructor(name,number){ super(name) //继承父类

2021-06-22 17:52:52 64

原创 手写一个深拷贝

思路先判断是否为引用类型,不是则直接返回再判断是数组还是对象递归 /** * 深拷贝 * @param {Object} obj 要拷贝的对象 */ deepClone(obj = {}){ if(typeof obj !== 'object' || obj == null){ //obj 是 null 或者不是对象和数组,直接返回 return obj }

2021-06-22 10:23:36 75

原创 前端常见的HTML CSS面试知识点总结

HTML1.如何理解HTML语义化?· 让人更容易读懂(增加代码可读性)· 让搜索引擎更容易读懂(SEO)对比<div> //不容易读懂 <div> 这是一个大标题 </div> <div> 这是一个小标题 </div> <div> 这是一段文本 </div></div><div> //显而易见的内容,方便读懂 <h1>这是一个大标题</h1

2021-06-21 17:20:21 92

原创 有一个4个长度的数组,每个位置装有0-9之间的随机数字,有10次输入的机会来猜每个位置的上的数是什么, 每次猜完4个数字以后都要给出提示,正确几个 错误几个, 只有位置和数字完全正确才算正确,其

var arr =[]; var count = 0 for(var i = 0 ; i < 4; i++){ arr[i] = parseInt(Math.random()*10); } alert("系统随机生成了四个随机数,请猜猜这四个数,顺序也不能错哦!"); alert(arr); for(var j = 1; j < 6 ;j ++){ v.

2020-11-06 10:11:39 906 1

原创 根据双色球摇奖规则,产生6个红球1个蓝球;红球范围1-33, 蓝球范围1-16. 红球不能有重复的产生。 思路:每次产生一个随机球,存入数组中,下一次产生的随机球,要和数组中的进行比较,如果有相等的

<script> var arrRed = new Array; var Blue = parseInt(Math.random() * 16 + 1) for (var i = 0; i <= 5; i++) { arrRed[i] = parseInt(Math.random() * 33 + 1); } for (var j = 0; j < arrRed.length; j

2020-11-06 10:10:50 1994

原创 JavaScript第三天

循环语句的运用学习笔记1.当循环语句 for语句,while语句先判断,后循环2.直到循环语句 do-while语句 先循环,后判断for循环执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。while循环当满足条件时进入循环,进入循环后,当条件不满足时,执行完循环体bai全部语句后再跳出(而不是立即跳出循环)break ,立即退出循环体,后面的循环不再执行。continue , 退出当前循环语句,然后再继续循环。练习题<s

2020-11-04 18:39:17 207 4

原创 2020-11-03

**JavaScript 第二天**学习内容:1.if else语句。2.if else if语句。3.switch语句。学习笔记:switch做的是恒等判断,值和数据类型都相同。switch主要用来做等值判断,不适合做范围判断。与if else, if else-if语句性能没多大区别break,中断程序,防止穿透。作业题:第一题 <script> var num = window.prompt("请输入一个整数");

2020-11-03 17:46:14 124

原创 JavaScript第一天

学习JavaScript的第一天,作业及代码学习内容:JavaScript的基本语法,数据类型,数据类型的转换问题1.用代码实现变量a中存储的数字10,变量b中存储的数字是31)a除以b后,并取整,在页面输出得到的结果?2)将a%b后得到的结果转换为字符串类型,在打印台输出得到的结果,并验证最终的结果数据类型是否为字符串2.用代码实现输入一数字作为秒数,在页面按小时,分钟,秒的格式输出( 如输入600,页面显示:0小时10分0秒 )3.用三元运算符实现1)小明和妈妈约定,期末考试如果语

2020-11-02 18:54:21 234

空空如也

空空如也

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

TA关注的人

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