- 博客(57)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JS解决斐波那契数列,生兔子问题
斐波那契数列是一个奇妙的数列,我们可以用程序模拟该过程题目:请写出一个函数,该函数会返回第 n 个斐波那契数。我是用数学把 斐波那契 模拟出来function fobonacci(i){ if(!(i-1)||!(i)){//解决前两个毫无规律的数 0,1 return i } var q = 0,//定义前两个数q,h分别为0,1 z = 0,//用于帮助q,h往后移...
2020-01-08 15:49:35
630
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 前端代码规范HTML,CSS,JS
前端代码的质量至关重要,直接决定着页面的质量和SEO,来看看一般实用的规范吧!HTML代码规范:1,img要写alt,在网络阻塞的情况下即使你没有加载出来图片内容,也可以得以知道图片代表的内容,起到提示的作用,提示内容要贴切。 <img alt="Smart">2,单标签不用写闭合符号,因为没必要,而且也显得你不懂HTML5规范,常见的单标签有img input...
2020-01-04 17:11:09
366
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JS创建对象的简单方法,new过程发生了什么
JS创建对象方法有很多,在这里简单介绍几种1.用自带构造方法构造var ob = new Object();缺点:创建多个对象会产生很多重复代码2.工厂模式,自己编写一个具有生产对象的函数function Car(weight,height){ var o = new Object(); o.weight = weight; o.height = h...
2019-12-31 18:43:30
693
2
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 逻辑运算或与非
逻辑运算符 与(&&):先计算第一个运算数的结果的布尔结果,如果是假,返回第一个运算数的运算结果,如果第一个运算数的结果的布尔结果是真,看后面运算数的运算结果的布尔结果,直到遇到假,返回为假的运算结果。如果全部都是真的话,则整体为真,其他情况为假。 a && b && c...逻辑运算符 或( || ):先计算...
2019-11-03 20:10:52
8722
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 JavaScript预编译过程
什么是预编译?为了利于理解我们可以把这个过程简化成下面的内容,这和学习课本的内容一样,你学习的知识不一定是对的,但是确实是你能接受范围内最形象的表达,有基础的朋友可以看我的另一篇博客《JS深入理解执行过程:作用域和作用域链,执行上下文,预编译等》当js代码执行时有三个步骤:1,语法分析,这个过程检查出基本的语法错误。2,预编译,为对象分配空间。3,解释执行,解释一行执行一行...
2019-05-04 19:23:48
1406
1
原创 解决Github Copilot无效,无法使用的问题
如果是在Copilot的终端报错 Invalid copilot token: missing token: 403。
2024-07-25 14:57:18
445
原创 el-tab宽度失效问题
在el-tab组件中,默认初次会渲染所有的tab内容,但是如果tab中,有元素的尺寸是vh,vw这些相对单位,那么这些组件中的元素尺寸将会失效,因为当tab没有被激活之前,tab中组件的vh,vw是无效的。大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小。
2024-07-17 10:54:56
200
原创 覆盖element组件样式失效
3,子组件中使用了scoped属性,使得父组件中的样式无法起效(使用深度选择器 ::deep )2,选择器优先级不一样,组件自带优先级高一些(通过加父类名或者样式后加!覆盖element组件样式的时候,有时候会遇到样式失效的情况,主要原因有以下几种。1,父类名错误,A标签下的样式,结果写在了B标签下(注意父类名)覆盖element组件样式失效。
2024-07-17 10:53:01
94
原创 VScode 格式化插件Prettier设置无效
发现不在代码不在报错,代码正常运行,如果代码格式化插件已经起效果,但是控制台还是报错可以,直接在prettier配置文件中直接禁用对应的代码验证规则。为什么已经设置了格式化插件为Prettier,控制台还是报错代码不符合Prettier格式要求,经过查询资料,需要点击鼠标右键,选择用…格式化文档“,在顶部选择代码格式化默认插件,选择之后重新运行代码,通过修改代码保存的方式验证插件是否起效。在某文件修改代码之后,ctrl+s 保存代码,保存之后会自动格式化代码,但是我们发现控制台有报错。
2024-07-10 17:58:32
825
原创 forEach,for in,for of
forEach一般用来遍历数组.缺点:无法停止循环,无法break.for in一般用来遍历对象,也可以遍历数组.缺点:会把原型属性过滤出来,需要hasOwnProperty()过滤.for of一般用来遍历数组,类数组。遍历对象需要配合Object.keys()使用.一个数据结构只要部署了Symbol.iterator属性,就被视为具有 iterator 接口,就可以用for...of循环遍历它的成员。也就是说,for...of循环内部调用的是数据结构的Symb
2022-04-29 10:09:48
693
原创 浏览器缓存原理
名词解释expires: Thu, 24 Nov 2022 07:59:16 GMT响应头,代表该资源的过期时间last-modified: Mon, 08 Nov 2021 11:58:00 GMT响应头,资源最近修改时间,由服务器告诉浏览器。cache-control: public, max-age=31536000请求/响应头,缓存控制字段,精确控制缓存策略...
2022-04-29 09:53:26
321
原创 每日任务-7/7
查看Vuex的使用,module的B站视频,conststore=newVuex.Store({modules,plugins:[vuexLocal.plugin],//把持久化插件一并导出})搜寻Vue-persist的学习资料,在B站上查看有用的视频
2021-11-05 09:59:36
150
原创 JS对象属性的分类,以及获取,判断
JS对象属性一共分为两大类,自有属性,枚举属性。关于对象属性的获取,判断操作请见链接末尾表格:属性的可枚举性和所有权 - JavaScript | MDN规律总结如下:in:所有属性包括自有属性和继承属性的判断for..in:遍历可枚举属性,包括自有属性和继承属性objt.hasOwnproperty(): 该属性是否是自身属性obj.propertyIsEnumberable(): 该属性是否是可枚举属性obj.keys(): 获取该对象的所有自身可枚举属性并且形成数组
2021-10-22 11:25:39
167
原创 解决[Vue warn]: Error in render: “TypeError: Cannot read property ‘name‘ of undefined“,已经解决。
含义:渲染时发生错误:类型错误:不能读取undefined的name属性原因:出现上述报错其实是因为,你访问了undefined.name,但是undefined没有name,所以报错。原因有两种,1,你的数据是异步加载,页面渲染的时候,还没有加载成功解决方案:条件渲染,给加载组件添加v-if,如果没有数据则不会渲染2,数据是本地数据,压根没有name数据解决方案:条件返回,如果没有数据则返回空字符串'',return item? item.name : ''......
2021-09-01 11:10:22
6456
1
原创 JS精度溢出和银行家舍入法
JS中只有一种数字格式即Number遵循IEEE 784标准,在我们计算过程中会发现诸如 0.1+0.2 = 0.30000000000000004的奇怪现象,这是因为计算机中数值精度是有范围的,原理请参照JavaScript 浮点数陷阱及解法,如果跳转有问题可以直接查看下列解决方法。解决方法1,toPrecision()方法以指定的精度返回该数值对象的字符串表示。语法:numObj.toPreci...
2021-08-27 10:37:30
416
原创 Git commit message的规范
本文参考了知乎 ”阿里技术“账号内容背景:用Git的小伙伴可能会遇到这种问题,即经过多次commit之后出现问题,经排查很有可能是因为之前的某次commit时,做了不恰当的调整。这时候如果在之前的commit之中,没有规范自己的commit message,那么排查起来将会非常痛苦。所以规范自己的commit message 信息变得尤为重要。commit message格式<type>(<scope>): <subject>type(必须)用于说
2021-08-20 10:19:31
503
原创 按需引入ElementUI
按需引入借助babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。(1),首先,安装 babel-plugin-component:npm install babel-plugin-component -D(2),然后,将 .babelrc或者是.babelrc.config.js添加代码,操作如下:module.exports = { presets: ["@vue/cli-plugin-babel/preset"], //以.
2021-08-11 15:41:07
612
3
原创 Git代码回滚以及撤销修改
1,假设现在你的代码有一些你不想提交的东西,但是已经做出了修改(并未 git add),你可以用git checkout file来撤销对与工作区的修改,其中file代表你要撤销修改的文件名。2,如果已经添加到了缓存区了,可以撤销此次添加,git reset HEAD file然后用第一步的命令来撤销对工作区的修改,这样文件就可以回到之前的状态了3,如果很不幸,做出了修改,而且也已经 git commit了,那只好进行“版本回退“ ,版本回退有两种,reset,和resert,.
2021-08-02 14:24:51
1125
原创 Access to internal resource at ‘file..‘ from origin ‘null‘ has been blocked by Cross origin request
报错完整信息是:Access to internal resource at 'file:///C:/manifest.json' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, chrome-untrusted, https.翻译过来就是:CORS
2021-08-02 10:14:51
3245
1
原创 状态码401,405
今天测试一个系统的登录接口,始终调试不通,反复检查语法,返回过401和405错误,401 Unauthorized当前请求需要用户验证。该响应必须包含一个适用于被请求资源的 WWW-Authenticate 信息头用以询问用户信息。客户端可以重复提交一个包含恰当的 Authorization 头信息的请求。如果当前请求已经包含了 Authorization 证书,那么401响应代表着服务器验证已经拒绝了那些证书。如果401响应包含了与前一个响应相同的身份验证询问,且浏览器已经至少尝试了一次验证,那么
2021-07-29 16:05:43
1155
原创 前端面试题
Vue父子组件通讯方式Vue数据响应式原理数据结构堆与栈TCP三次握手CSS盒模型JS闭包,作用域链设计模式手动实现v-model手写全兼容事件委托
2021-06-22 19:04:56
116
原创 奇瑞前端面试总结
1,了解过Vue的原理吗,看过源码吗?2,讲一讲Vue的数据流和双向绑定原理.3,了解过Vuex吗?4,event loop.5,Js数据类型哪两类,有什么区别?6,ES6数组,字符串新增方法7,了解过中间件吗?大概就是这些,问题比较概括,面试官人挺好的。...
2021-06-21 22:30:40
282
原创 解决 element ui 表单刷新自动提交问题
项目场景:提示:这里简述项目相关背景:例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大)问题描述:提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA...
2021-06-07 13:46:59
757
原创 Javascipt的this指向
Javascipt的this指向文章目录Javascipt的this指向前言一、this是什么?二、this指向的是什么1.当函数作为一个对象的属性被调用时,指向的是最后调用函数的对象2.当函数仅仅作为函数执行时,this指向的是window3.ES6箭头函数没有this,理解为箭头函数的this指向外部函数的this4.立即执行函数的this指向window总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文
2021-04-14 14:20:54
112
转载 Vue-计算属性,指令,key
模板语法内容vue中的元素内容使用mustache模板引擎进行解析mustache:https://github.com/janl/mustache.js指令指令会影响元素的渲染行为,指令始终以v-开头基础指令:v-for:循环渲染元素v-html:设置元素的innerHTML,该指令会导致元素的模板内容失效v-on:注册事件该指令由于十分常用,因此提供了简写@事件支持一些指令修饰符,如prevent事件参数会自动传递v-bind:绑定动态属性该指令由于十分常用,因
2021-04-07 15:36:06
174
转载 Vue-注入,虚拟dom,挂载
注入配置对象中的部分内容会被提取到vue实例中:datamethods该过程称之为注入注入目的有两个:完成数据响应式vue是怎么知道数据被更改了?vue2.0是通过Object.defineProperty方法完成了数据响应式,但是这种方法有缺陷,无法检测到新增属性和删除属性,vue3.0是通过Class Proxy完成的数据响应式,绑定this虚拟DOM树为了提高渲染效率,vue会把模板编译成为虚拟DOM树,然后再生成真实的DOM当数据更改时,将重新编译成虚拟DO
2021-04-07 15:27:59
832
原创 父元素设置透明度,子元素不透明
用CSS3新特性:bacgkground-color: raga(0,0,0,0.5)。但是此方法不兼容IE8以及以下,下面兼容一下:background-color: #000;filter: alpha(opacity = 50)。请注意,不能使用opacity,因为它会使父元素和内容都透明,opacity:0.5;...
2021-04-02 13:55:01
473
原创 天融信前端实习面试
2021/3/29,17:00如何提高页面渲染效率页面网络安全JS私有化变量,公有化变量五大基础选择器闭包特性cookie、localstorageposition的属性,区别css选择器Vue生命周期备注:面试官很nice,即使我是个菜鸡,也很尊重人,不愧是大企业。...
2021-03-29 20:58:08
541
原创 ES6新增数组方法
ES6一般情况下,说的ES6是泛指ES3以后,包括ES5,ES6,ES7等新版本,其中ES6变动对大,影响最为深远。新增五个数组迭代方法filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。 map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。 forEach遍历数组forEach() 方法对数组的每个元素执行一次给定的函数。 every() 方法测试一个数组内的所有元素是否都能通过某个...
2021-03-27 17:18:19
252
原创 px,pt,rem,vw,DPR之间的关系
px 相对单位,虚拟像素,逻辑像素,它是组成图像的基本单元,请注意不是屏幕上的最小显示单位小光点。 pt 绝对单位,设备像素,物理像素,就是显示屏上面的小光点。 rem 相对于根节点下font-size的倍数。 DPR device piels ratio 设备像素比,物理像素与逻辑像素之间的比例关系。 选手机的时候标识的分辨率其实是逻辑像素,这也就解释了为什么老版苹果手机分辨率不大但是画面细腻了,这种显示屏单位面积像素点多(DPR大...
2021-03-26 19:38:27
300
原创 牧原前端技术面试
时间:2021/3/25,下午四点半到五点四十,两个面试者,四个面试官(应该),一个HR,两个技术。两个人轮流回答,每人一个问题,问题不一样。题目:html页面中 head 标签可以写什么:导入css,js,meat等等,meat里面能干什么 css基础选择器类型,权重 垂直居中,水平居中方法 ES6新增方法,你说了方法,他会追问具体用法 数组方法,ES6数组去重方法,我说的原生方法 了解过跨域吗 常见linux命令 git如何创建分支 let,const区别,如果在全局用le.
2021-03-25 21:00:35
2289
6
原创 vue-cli的安装
vue-cli的安装vue-cli是一个脚手架工具,它集成了诸多前端技术,包括但不仅限于:webpackbabeleslinthttp-proxy-middlewaretypescriptcss pre-prosessorcss module…这些工具,他们大部分都要依赖两个东西:node环境:很多工具的运行环境npm:包管理器,用于下载各种第三方库目前,npm已和node集成,当安装node后,会自动安装npm安装node下载node:https://nodejs
2021-03-22 17:44:23
91
原创 ES5严格模式
开启严格模式:在顶部或者函数顶部加上'usestrict';1,未经声明禁止赋值和使用'usestrict';a=1;UncaughtReferenceError:aisnotdefined2,禁止使用withwith(expression){statement}expression将给定的表达式添加到在评估语句时使用的作用域链上。表达式周围的括号是必需的。statement任何语句。要执行多个语句,请使用一个块语句...
2021-03-07 20:22:34
192
原创 JS解决 最长连续字符长度 问题
双指针法var f = function(str){ var i = 0, j = 0, max = 1; if(str.length === 0){ return 0; } for(;j <= str.length;j++){ if(str[i] !== str[j]){ if(j - i > max) max = j - i; .
2021-02-28 10:18:16
280
原创 编程语言的分类
编程语言分为高级语言,低级语言,高级语言高级语言就是常见的那种C,Java,JS,C++,Python,等等高级语言更加人性化,易于理解,利于开发,高级语言具有移植性,代码可在不同计算机平台运行。低级语言包括汇编语言和机器语言,机器语言是机器能够直接的0,1代码,汇编语言采用人类更加容易记忆和识别的符号来代表指令。高级语言又分为编译型语言和解释型语言...
2021-01-31 19:48:07
888
原创 事件冒泡,事件捕获,解除事件冒泡与捕获。
事件流描述的是从页面中接受事件的顺序。浏览器两大阵营在早些时候看法是一致的,点击页面中的元素,其实相当于也点击了HTML,整个页面。浏览器两大阵营提出了差不多完全相反的事件模型。事件冒泡,IE事件流,事件由最具体的元素接受,如果点击一个页面中的div,这个点击事件从点击的元素按HTML结构逐层向上向父级冒泡,注意不是视觉上的父级,顺序是1,div 2,body 3,html 4,documen...
2020-02-07 19:46:01
160
原创 浅谈css居中对齐
本文只是浅析如何对齐,即看即用行内元素行内元素的水平对齐:1,父级加文本对齐:text-align:center;2,css3中Flex布局,父元素设置属性:dispaly: flex; justify-content: center;行内元素的垂直居中1,子元素加一个等于父级的行高line-height;2,利用vertical-align:center,但是这一个比...
2020-02-01 10:51:17
206
原创 CSS选择器,深入理解CSS选择器权重
前端工程师经常和选择器权重打交道,但是部分人还是一知半解,下面咱们一起学习一下吧。应用场景selector specificity:选择器特殊性或者说是选择器权重更为贴切一些,这里的“权”,和是数学中加权平均数的“权”一个意思。当同时多个CSS选择器语句的目标是同一个HTML元素时,选择器权重就派上了用场,而且在开发中经常因为权重问题导致样式失灵场景一:同权重选择器前后覆盖。...
2020-01-30 15:25:35
508
原创 JS常见错误
JS运行常见错误SyntaxError:语法错误,在解析代码过程中发生的语法错误。ReferenceError:引用错误 1,引用一个不存在的变量时引发的错误。 2,将一个值赋给无法分配的对象RangeError:超出有效范围错误 1,数组长度为负 2,Number对象的方法参数超出...
2020-01-16 21:35:00
459
原创 到底JavaScript原型以及原型链是什么?
原型是JavaScript这门语言最重要的部分之一 ,理解原型以及原型机制对于学习这门语言来说事半功倍。这篇博客帮助你理解。构造函数与实例 Person.prototype.lastName = 'chen'; function Person(){ firstName = 'Joe'; } var person = new Person();...
2020-01-13 17:36:08
249
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人