自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 vue项目中利用splice方法实现table行的上移下移

vue项目中利用splice方法实现table行的上移下移splice 方法实现代码实现效果splice 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。array.splice(start, deleteCount, item1, item2,…)start: 修改的开始位置deleteCount:要移除或要替换的元素个数。(如果为0,则添加元素)item1, item2, … :要添加进数组的元素,从start 位置开始。如

2022-03-16 14:18:58 843

原创 vue+ts

vue+ts新建一个基于ts的vue项目vue create ts-vue-project项目结构vue+ts使用基础import { Vue } from 'vue-property-decorator'export default class Home extends Vue { // data值 public collapsed = false; public userData = { oaName: '张三', auth: 1, auth

2021-08-11 15:57:01 210

原创 Node.JS中的事件循环机制

Node的事件循环机制浏览器的 Event-Loop 由各个浏览器自己实现;而 Node 的 Event-Loop 由 libuv 来实现。libuv 主导循环机制共有六个循环阶段,重点是以下三个阶段:timers(计时器阶段):初次进入事件循环,会从计时器阶段开始。此阶段会判断是否存在过期的计时器回调(包含 setTimeout 和 setInterval),如果存在则会执行所有过期的计时器回调,执行完毕后,如果回调中触发了相应的微任务,会接着执行所有微任务。timers 阶段的setTimeo

2021-04-15 19:25:48 278

原创 跨域——跨域的解决方案

跨域浏览器的同源策略: 请求资源时,浏览器要求当前网页和请求资源的server必须同源。同源: 协议、域名、端口三者必须一致。当url中协议、域名、端口号任意一个不相同时,都算作不同域,不同域之间相互请求资源,就算做“跨域”。处理跨域的方法:1. jsonpjsonp的原理:利用script标签不受跨域限制和服务器端配合动态拼接字符串返回来实现跨域。浏览器脚本动态创建script标签,并且给script的src属性加入了callback参数,浏览器端还要定义callback,callba

2020-08-18 15:12:28 300

原创 JavaScript字符串和数组去重方法总结

字符串去重面试中被问到字符串去重的问题,当时脑子有点空白,下来总结一下:1. 两层for循环嵌套新建一个字符串,两层循环,外层循环原字符串,内层循环新字符串,设一个标志位记录源字符串和新字符串的元素是否相等,如果不等,就将元素添加到新字符串中。function removeRepeatStr(str){ var newStr = ''; var flag; var len = str.length; for(var i=0; i<len; i++){

2020-08-14 19:51:16 3303

原创 arr.reduce使用和源码实现

1. reduce的使用数组方法 reduce 用来迭代一个数组,并且把它累积到一个值中。使用 reduce 方法来让 array 中的所有值相加。<!DOCTYPE html><html><head><meta charset="utf-8"><title>reduce的使用</title></head><body> <script>var arr = [1, 2, 3,

2020-08-07 13:40:30 508

原创 ES6常用语法

ES6知识点1. 模板字符串var name = 'xiuyan' var career = 'coder' var hobby = ['coding', 'writing']var finalString = `my name is ${name}, I work as a ${career} I love ${hobby[0]} and ${hobby[1]}`2. var 和let const的区别(1)var和let定义的是变量,可修改;const定义的是常量,不可修改;(2)

2020-07-13 14:05:06 707

原创 Promise

3. PromisePromise 对象用于表示一个异步操作的最终结果(完成或失败),以及其返回的值。Promise其实就是用来存储异步操作的结果的,异步操作返回一个Promise,但是不用给Promise传入回调函数或者参数。异步操作一旦完成,Promise会进入以下两种状态的其中一种:1.fulfilled(已完成):表示异步操作成功结束;2.rejected(已拒绝):表示异步操作未成功结束,期间可能发生了错误。3.1 使用Promise对象let promise = new Promi

2020-07-10 14:07:31 219

原创 Vue路由传参的三种方式

Vue路由传参的三种方式第一种父组件:getDescribe1 (id) { this.$router.push({ path: `/config1/${id}` })}路由:另外路由需要配置,在path中添加/:id来对应 $router.push 中path携带的参数{ path: '/config1/:id', name: 'Config1', component: Config1},这种方法参数值会跟在url后面,子组件通过this.$route.pa

2020-05-30 16:22:34 729

原创 js常用的日期方法

var myData = new Date() //Thu Mar 19 2020 21:26:45 GMT+0800 (中国标准时间)myDate.toLocaleDateString() //"2020/3/19"myDate.toLocaleTimeString() //"下午9:26:45"myDate.toLocaleString( ) //"...

2020-03-19 21:44:45 325

原创 对象的常用方法

1. for in 遍历对象的属性2. Object.keys()Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致。const obj = { a: 2, b: 1, c: 0}for (let value of Object.keys(obj)) { cons...

2020-03-18 23:14:02 2449

原创 vue.js

vue.js基础Vue.js是一个轻量级MVVM框架。vue.js的核心思想是数据驱动+组件化。1.vue实例<script src="../lib/vue.js"></script><body><div id="app"> 你的名字是:{{name}}</div></body>// 创建...

2020-03-17 23:25:41 358 1

原创 实现深拷贝的几种方式

1. JSON.stringify()以及JSON.parse()但是这种方法是不可以拷贝 undefined , function, RegExp 等等类型的var obj5 = { a: 1, b: 2, c: 3}var objString = JSON.stringify(obj5);var obj6 = JSON.parse(objString);ob...

2020-02-28 09:39:31 5396

原创 JS基础语法01——变量类型和计算

一. 变量类型变量类型包括: Null Undefined Number String Object Boolean Function Symbol(ES6)1. 基本类型 VS 引用类型//基本类型let a = 100let b = aa = 200console.log(b) //100//引用类型let c = { age: 20 }let d = cc.age...

2020-02-26 15:48:46 154

原创 静态页面的css总结(居中,背景图片)

居中水平居中行内元素水平居中这里的行内元素指的是文本text,图像img,超链接a,按钮等text-align: center; /*在父元素上设置*/块级元素水平居中定宽块级元素水平居中width: 100px; /*给块级元素设置宽度*/margin: 0 auto; /*将块级元素的margin-left和margin-right设置为auto*/不定宽块级...

2020-02-24 11:46:36 557

原创 天天答题项目总结1——项目前期准备工作

项目前期准备工作移动端不同大小适配:之前采用的是rem的方法,现在有一种新的解决方案: 在vue移动端使用lib-flexible和px2remloader适配屏幕。具体方法: https://www.cnblogs.com/xieyong25/p/9596497.html解决VUE项目(或者说前端项目)在IOS端的手势缩放问题,避免用户进行网页的缩放问题:移动端web缩放有两种...

2020-02-22 17:08:00 315

原创 移动端开发的一些问题总结

REM是指相对于根元素的字体大小的单位,是个相对单位,如果不设置根元素的字体大小,则会默认以根元素的16px的大小计算值。EM是指相对于父元素的字体大小单位,也是个相对单位。UI稿的字体大小和边距等参数都是是在1080 * 1920上拟定出来的, 那我们如何计算成我们要的大小呢?解决这个问题之前,我们要先理解 逻辑像素 和 物理像素。物理像素(设备像素) & 逻辑像素(CSS像素)...

2020-02-03 10:08:21 243

原创 单页面应用vs多页面应用

单页面应用vs多页面应用多页面应用: 每次页面跳转,都要发一个html请求,服务器端返回一个html文件。优点: 首屏展示时间快,且搜索引擎优化效果(SEO)好。缺点: 页面切换慢。单页面应用: 页面的跳转不需要发html请求,而是通过js动态的把当前页面的内容删除掉,再去把新的页面中的内容渲染出来。优点: 页面跳转时不需要做html文件的请求,节约了http请求发送的时延,使页面切换变...

2020-01-31 10:39:44 228

原创 异步、同步以及异步的各种解决方法

1. 异步和同步js是单线程语言,遇到等待(网络请求、定时任务)不能卡住,所以需要异步。同步和异步的区别:同步同时只能做一件事情,会阻塞代码的执行,异步可以同时进行多个操作,不会阻塞代码的执行异步通过callback形式调用。//异步 通过callback形式调用 异步不会阻塞代码执行console.log(100)setTimeout(() => { ale...

2020-01-08 21:12:27 1593 1

原创 JS基础知识04——this的绑定规则及优先级

this在不同应用场景中,如何取值???this的使用场景有:作为普通函数被调用使用call,apply,bind被调用作为对象方法被调用作为对象方法中的函数被调用箭头函数中被调用在class中被作为方法调用this在各个场景中取什么样的值是在函数执行的时候确认的,不是在函数定义的时候确认的。1. 作为普通函数被调用function fn1() { console...

2020-01-06 21:29:43 349

原创 JS基础知识03——作用域和闭包

1. 环境和作用域环境分为全局环境(全局作用域)和局部环境(函数作用域和块级作用域)作用域即作用范围,全局变量的作用域是全局,函数内定义的变量作用域就是函数内部,一个代码块内定义的变量作用域就是这个代码块内。函数每次被调用时会开辟一个内存空间(环境),用于存放函数内定义的内容。执行结束后会内存空间被释放,所以函数每次执行开辟的内存空间是不同的。 let a = 1; functio...

2020-01-05 21:54:39 259

原创 跨域解决方法——jsonp原理

一个域名地址的组成:当协议、子域名、主域名、端口号任意一个不相同时,都算作不同域,不同域之间相互请求资源,就算做“跨域”。由于浏览器同源策略的限制,非同源下的请求,都会产生跨域问题。使用jquery的jsonp可以发起跨域请求,下面来探究下他的原理及使用。首先看下如何使用<script src="">来完成一个跨域请求:普通的ajax请求是会发生跨域问题的,但是img的s...

2020-01-04 21:31:53 436

原创 原型和原型链的理解

在典型的面向对象的语言中,如java,都存在类(class)的概念,类是对象的模板,对象是类的实例。但是javascript中创建对象不是基于‘类的’,而是通过构造函数(constructor)和原型链(prototype chains)实现的。在ES6中引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部...

2019-12-25 13:38:09 771

原创 理解BFC

概念: BFC(Block formatting context)直译为"块级格式化上下文"。是块级盒布局发生的区域, 它规定了内部的块级盒子模型如何布局。哪些元素会生成BFC?根元素(body)float属性不为noneposition为absolute或fixeddisplay为inline-block, table-cell, table-caption, flex...

2019-12-24 21:34:38 111

原创 去哪儿网app实战项目笔记——详情页面

详情页面组件结构1. 路由动态路由 { path: '/detail/:id', name: 'Detail', component: Detail } <router-link :to="'/detail/' + item.id" tag="li" > </router-link> //使用tag属性可以...

2019-12-24 16:06:18 716

原创 去哪儿网app实战项目笔记——城市选择页

组件结构CityHeader路由的配置使用标签做页面跳转<router-link to="/"> <div class="iconfont back-icon">&#xe624;</div></router-link>js形式的页面跳转this.$router.push(’/’)CityListLis...

2019-12-23 15:44:39 381

原创 理解JS事件委托

面试被问到事件代理(事件委托),之前没有了解过,表示一脸懵逼。。。1.首先记住给一个元素注册多个事件的方法:我们平常注册事件的方式是: div1.onclick = function(){ console.log('hello'); }; div1.onclick = function(){ console.log('world'); }...

2019-12-20 20:22:29 131

原创 js实现轮播图

js实现轮播图html页面展示区为wrap,里面第一部分是大图,第二部分是索引点,第三部分是向前向后按钮。<div class="wrap"> <ul class="list"> <li class="item active"><img src="./images/images/1.jpg"></li> ...

2019-12-18 19:41:05 155

原创 海康web前端实习面试

我的前端第一面献给了海康,大公司面试体验还是挺不错的,面试官很和善,可惜我基础太差,大概率是凉凉了。不过经验是更重要的,记录下来查漏补缺。面试一共大约四十多分,前二十分钟都在谈项目。1.介绍自己的项目2.localStorage的使用3. 组件 vue-router谈完项目后开始根据简历上的专业技能问基础知识1.css垂直居中的方法2.实现浮动的方法(除了float还有什么方法)...

2019-12-17 16:18:31 1356

原创 类的创建与继承

在面向对象(oo)编程中,类(class)是对象(object)的模板,定义了同一组对象(实例)共有的属性和方法。JavaScript语言里没有类的概念,但是我们通过以下方法也可以模拟出类。一.创建类:(1)构造函数function Person(name,age){ this.name = name; this.age = age; this.sayName = f...

2019-12-11 15:53:03 789

原创 for-in循环会遍历原型链上可枚举的所有属性

for-in循环能不能遍历出原型链上的属性?使用for-in循环,返回的是所有能够通过对象访问的、可枚举的属性,其中既包括存在于实例中的属性,又包括存在于原型中的属性。屏蔽了原型中不可枚举属性的实例属性也会在for-in循环中返回。——《JavaScript高级程序设计》for-in循环会遍历原型链上可枚举的所有属性。屏蔽了原型中不可枚举属性的实例属性也会在for-in循环中返回。默认不可...

2019-12-10 10:40:01 3600

原创 去哪儿网app实战项目笔记——首页

准备项目结构build:项目的webpack配置文件config:针对于开发环境和线上环境的配置文件node_modules:项目的依赖static:静态资源(本地数据)index.html是整个项目最外层的html文件src:源代码,是主要编写代码的地方: main.js:整个项目的入口文件。 App.vue:根组件。 components:项目中的小组件,以.vue结尾的...

2019-12-08 12:29:50 918

原创 面向对象编程

面向对象编程(oop)JavaScript语言的对象体系,不是基于类(class),而是基于构造函数(constructor)和原型链(prototype)。构造函数和new命令构造函数是专门用来生成实例对象的函数。构造函数的特点有三个:1.为了与普通函数区别,构造函数名字的第一个字母通常大写。2.函数体内部使用了this关键字,代表了所要生成的对象实例。3.生成对象的时候,必须使用...

2019-11-29 21:24:10 227

原创 完美运动框架

最近几天重温了javascript的一些基础知识,以前学起来很吃力的东西,现在看来也没那么难懂,很多基础知识用多了就会熟练。但有些基础知识确实是我之前学习的不够扎实,比如定时器的应用。下面是封装的一个完美运动框架函数,解决了运动框架的很多bug。//获取非内联样式的函数。function getStyle(obj,name){ if(obj.currentStyle){ ...

2019-11-29 19:11:57 148

原创 css总结-----我的css文档

自学了快一年的前端,总结出自己的一套css文档,供记不起来的时候查看复习。。。css的三种形式内联样式<h1 style="color: #000";>慕课网<.h1>内嵌样式<head> <style> h2 { color: #000; } </style></head>外...

2019-11-25 20:43:10 766

原创 vue实例中的知识点

1.前端的数据存储使用window.localStorage,使用localStorage接口可以数据直接存储在浏览器里。两个重要的方法:localStorage.setItem(‘myCat’, ‘Tom’);//(键,值)let cat = localStorage.getItem(‘myCat’);localstorage的封装/*作用:把原生的localStorage封装,使它在...

2019-11-20 15:26:15 106

原创 Git学习05——廖雪峰课程

Git学习04-----标签管理发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本Git的标签是版本库的快照,它就是指向某个commit的指针。创建标签创加粗样式建标签:$ git tag v1.0查看所有标签:$ git tag给特定的版本打标签:$ git tag v0.9 commit_id查看标签信息:$ git show tagnam...

2019-11-03 19:36:16 101

原创 Git学习04-----廖雪峰课程

Git学习03—分支管理创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支.创建与合并分支创建分支:git branch name切换分支:git checkout namegit switch name创建分支加切换分支:git checkout -b namegit switch -c name查看分支:git branch合并某分支到当...

2019-11-03 18:49:05 177 1

原创 Git学习03-----廖雪峰课程--本地仓库和github仓库

Git学习笔记----远程仓库SSH Key由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要设置:第1步:创建SSH Key$ ssh-keygen -t rsa -C "youremail@example.com"如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_...

2019-11-03 15:44:54 114

原创 Git学习02----廖雪峰课程

Git学习笔记—时光穿梭机修改文件git status命令可以让我们时刻掌握仓库当前的状态。如果git status告诉你有文件被修改过,用git diff filename 可以查看修改内容。提交修改和提交新文件是一样的两步。git add readme.txtgit commit -m " "版本回退$ cat readme.txt: 查看文件中的内容。穿梭前,用gi...

2019-11-01 21:37:20 154

空空如也

空空如也

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

TA关注的人

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