- 博客(22)
- 资源 (4)
- 收藏
- 关注
原创 js 面试
JS浅谈深拷贝和浅拷贝在前端面试中经常会问到如何理解JS的深浅拷贝,又是如何实现的?今天我们通过几个例子来理解一下。浅拷贝简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了。下面我会引用到栈堆方面的内容来加强理解。例:let a=[0,1,2,3,4], b=a;console.log(a===b);a[0]=1;console.log(a,b);这里写图片描述修改了a,b也跟着变了。接下来我们看一下原理:引入基本数据类型与引用数据类型的概
2021-03-15 21:06:04
186
原创 vue——购物车代码
<template> <div> <!-- 头部导航 --> <van-sticky> <van-nav-bar title="商品详情" left-text="返回" left-arrow @click-left="back" >`在这里插入代码片` <template #right> <
2020-07-23 16:23:09
1026
2
转载 异步的区别,promise的使用,javascript的同步
异步的区别,promise的使用,javascript的同步认真打码的怪兽 2021-03-19 07:41:05 40 收藏文章标签: javascript版权1.javascript的同步JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。这是因为Javascript这门脚本语言诞生的使命所致——JavaScript是为处理页面中用户的交互,以及操作DOM而诞生的。比如我们对某个DOM元素进行添加和删除操作,不能同时进行。应该先进行添加,之后再删除。单线程
2021-03-21 19:59:40
196
原创 前端面试 class加数据类型判断加原型和原型链
Class & 继承 & 原型 & 原型链ClassES6提供了更接近传统语言的写法,引入了Class(类)这个概念,作为对象的模板。通过class关键字,可以定义类。基本上,ES6的class可以看作只是一个语法糖,它的绝大部分功能,ES5都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。类的声明比如 声明一个类,并声明一个该类的实例class Student { //constructor 构造函数 construc
2021-03-16 20:46:23
392
原创 优快云-markdown编辑器 和快捷键
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-03-15 09:01:58
558
原创 vue 前端面试
最近在面试,总结几个重点的面试题:一、vue父子组件之间的传值:简单来说,子组件通过props方法接受父组件传来的值,子组件通过$emit方法来向父组件发送数据。(具体案例可以看我之前写的博客)。二、vue生命周期函数:beforeCreatecreatedbeforeMountmountedbeforeUpdateupdatedbeforeDestroydestroyedajax操作是在monted生命周期中完成的。三、vue自定义指令:1.创建局部指令var app = n
2021-03-14 21:34:32
120
原创 html和vue 的性能优化
网页内容:1.减少http请求: http协议是无状态的应用层协议,意味着每次http请求都要建立通信链路、进行数据传输。减少http的主要手段是合并css、合并javascript、合并图片。2.减少DNS查询次数3.避免页面跳转4.使用浏览器缓存:缓存AJAX5.延迟加载:LazyLoad Images。刚加载的时候减少http请求。6.提前加载7.减少DOM元素数量8.根据域名划分内容9.减少iframe数量10.避免404服务器:1.使用CDN2.添加Expires或Ca
2021-01-19 20:44:23
701
原创 promise的基础用法,async的基础用法
Promise 对象是一个构造函数,用来生成 Promise 实例。Promise 构造函数接受一个函数作为参数,该函数的两个参数分别是 resolve 和 reject。resolve 函数的作用是,在异步操作成功时调用(Promise 对象的状态从 pending 变为 fulfilled),并将异步操作的结果,作为参数传递出去。reject 函数的作用是,在异步操作失败时调用(Promise对象的状态从 pending 变为 rejected),并将异步操作报出的错误,作为参数传递出去。cons
2021-01-16 20:29:00
177
原创 rem 针对设计稿宽度,设计rem调试比例
需求:在不同的移动终端设备中实现,UI设计稿的等比例适配。方案:使用js动态改变html的字体大小font-size+rem的特性,来保证最初的设计图中每个元素的尺寸比例不变,以适用于不同尺寸的设备能够正常显示。(function (doc, win) { // 根元素html var docEl = doc.documentElement, // orientationchange方向改变事件(横屏或者是竖屏) // 判断窗口有没有orie
2021-01-14 20:29:29
239
原创 js单线程,事件循环
背景:JavaScript的主要用途是与用户交互,以及操作DOM。这决定了它只能是单线程,否则会带来很多复杂的同步问题。为了解决单线程导致的线程等待资源,cpu空闲,而其他任务一直等待的问题。将所有的任务分为两种,一种是同步任务,一种是异步任务。同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行下一个任务。异步任务指的是,不进入主线程,而进入“任务队列”的任务,主线程查找任务队列,某个异步任务可以执行了,该任务才会进入主线程执行。js的执行过程:(1)所有的同步任务都在主线程
2021-01-14 19:51:29
217
原创 sourcetree使用
打开sourcetree后是这样的,如果有项目了先点击+号1.点击Clone2.配置克隆项目的信息位置1处添加远程项目git路径。程序:http://10.113.4.228:10010/r/Client.git美术:http://10.113.4.228:10010/r/Art.git策划:http://10.113.4.228:10010/r/Document.git位置2处添加需要将项目保存的本地文件夹。点击高级选项检出分支处,根据项目情况选择我们这里策划和美术项目不需要修改
2021-01-13 19:59:10
402
原创 关于github使用,以及sourcetree使用
现阶段,很多项目都是多人共同完成的,那么就会涉及到“版本”问题,即如何实时地查看项目代码,如何让别人看到你的代码,如何回到修改之前的代码…这些问题可以通过使用git向github上传代码来解决。首先前两步是1、下载一个git 2、注册一个github账号,注意是英文的那个官网,不是中文的那个。网上有详细的git介绍与git的安装说明,也有github注册账号的详细流程,在这里不再介绍。然后你需要在github网站上新建一个代码库,也就是找到那个“new repository”按钮按一下,在出现的新页面上
2021-01-13 19:46:59
295
原创 vuex基础语法
vuex,你可以理解为一个存放全局变量的仓库。在这里可以存放一些各个模块中通用的变量和属性。在小项目中使用localstorage和session,在大项目中使用vuex,解决了组件之间统一状态的共享问题,实现组件之间的数据持久化。在项目中可以用vuex存放数据,不用每次都要请求后端服务器,这就在保证了数据新鲜度的同时提高了使用性能。前期配置工作:1、src里新建vuex文件夹2、vuex里新建一个store.js的文件(建议store名字不要变)3、安装vuex cnpm i vue-x --
2021-01-13 08:36:26
330
1
原创 简单 Git 命令
Git简述Git是什么 首先我们要知道版本管理是什么。 版本管理可以记录文件的变化方式,以便未来查阅特定版本的文件内容。 人为维护文档版本会出现很多问题,比如文档数量过多且命名不清晰导致文档版本混乱;每次编辑文档都需要复制,很不方便;多人同时编辑同一个文档容易产生覆盖等等。于是就出现了Git。Git是一个版本管理控制系统(缩写VCS),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来。2. Git的安装Git安装地址:https://git-scm
2021-01-12 21:46:19
119
原创 冒泡排序,,,,递归
第一种这种方法冒泡排序比较相邻的两个元素,如果前一个比后一个大,则交换位置。第一轮把最大的元素放到了最后面。由于每次排序最后一个都是最大的,所以之后按照步骤1排序最后一个元素不用比function arr_sort(data) { var temp for(var i = 0; i<data.length-1;i++) { for(var j = 0; j<data.length - i; j++) { if(data[j]) > data[j + 1]) {
2021-01-11 21:31:06
124
原创 一些 ES6的扩展
es6部分let,const1.var 定义的变量:全局变量和局部变量(函数)function fn(){ var num = 10; alert(num)}fn();alert(num); //num is not definefor(var i=1;i<=10;i++){ //i是全局的 }alert(i); //11es6中新增了let命令,用来声明变量,它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内{}有效 即let所声明的变量就“绑定
2020-10-16 14:33:39
131
原创 前端笔试 的点点滴滴
css的重绘与回流1:重绘:当节点需要更改外观而不会影响布局。2:回流:DOM结构的修改引发DOM几何尺寸变化的时候,发生回流。3:常见的几何属性有width、height、padding、margin、left、top、border 或者是DOM节点发生增减移动。4:减少重绘和回流的办法。5:使用css3新增属性:translate替代top等方向值。6:避免频繁使用style,而是采用class。箭头函数和普通函数的区别是什么?1:普通函数this:2:this总是代表它的直接调
2020-10-10 11:05:58
265
转载 前端人事面试点点滴滴
人事方面问题总结:1、请你自我介绍一下你自己?回答提示:一般人回答这个问题过于平常,只说姓名、年龄、爱好、工作经验,这些在简历上都有。其实,企业最希望知道的是求职者能否胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合情合理企业才会相信。企业很重视一个人的礼貌,求职者要尊重考官,在回答每个问题之后都说一句“谢谢”,企业喜欢有礼貌的求职者。2、你对加班的看法?回答提示:实
2020-10-09 14:16:47
473
原创 GIT 上传码云仓库命令
命令符git inigit commit -m “想起的名字”git add .https://gitee.com/Git名字/仓库名字git push -u origin master
2020-09-18 23:03:01
108
原创 面试题 的点点滴滴
1.响应式布局如何实现响应式布局:响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就够,缺点就是CSS比较重响应式布局的实现方案:方案①–媒体查询:CSS3媒体查询可以让我们针对不同的媒体类型定义不同的样式,当重置浏览器窗口大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。方案②–百分比布局:通过百分比单位,可以使得浏览器中组件的宽和高随着浏览器的高度的变化而变化,从而实现响应式的效果。Bootstra
2020-09-08 08:23:36
457
原创 2020-08-17
40vue.runtime.esm.js?2b0e:619 [Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the “name” option.found in—> at src/views/Home.vue at src/App.vue谁知道那地方错了知道的留言...
2020-08-17 19:19:11
95
原创 2020-08-10
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in render: “TypeError: Cannot read property ‘matched’ of undefined”found in`—> at src/App.vuewarn @ vue.runtime.esm.js?2b0e:619logError @ vue.runtime.esm.js?2b0e:1884globalHandleError @ vue.runtime.es
2020-08-10 20:31:01
328
vue_end_boss.zip
2020-07-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅