前端知识
刘久江
这个作者很懒,什么都没留下…
展开
-
JS中如何跳出循环/结束遍历方法
序号 方法 break continue return return true return false 结论 1 for循环 成功 跳出本次循环 不合法 不合法 不合法 √ 2 Array.forEach() 不合法 不合法 跳出本次循环 跳出本次循环 跳出本次循环 × 3 for...in 成功 跳出本次循环 不合法 不合法 不合法转载 2020-10-14 11:28:59 · 3766 阅读 · 0 评论 -
数组中遍历方法以及跳出循环方法
先看下面这段代码:在for循环中想要调出整个循环是break;但是在forEach中使用break不仅不能调出整个循环,还会报错,使用return也不行;其实这个问题是由一道编程题引发的,使用循环判断数组中是否包含某个值;当我想用forEach来循环时,发现在找到该值之后没法提前调出循环,就会造成时间复杂度的浪费,增加冗余计算,除了用for循环语句来代替forEach,还有什么解决方法呢,forEach究竟怎么跳出循环。1、使用try...catch来调出循环当判断条件满足时,抛转载 2020-05-15 11:23:29 · 4996 阅读 · 5 评论 -
前端性能优化-重绘与重排
重排和重绘网页生成过程:HTML被HTML解析器解析成DOM 树 css则被css解析器解析成CSSOM 树 结合DOM树和CSSOM树,生成一棵渲染树(Render Tree) 生成布局(flow),即将所有渲染树的所有节点进行平面合成 将布局绘制(paint)在屏幕上第四步和第五步是最耗时的部分,这两步合起来,就是我们通常所说的渲染。(之前有博客详细解释了)网页生成的...原创 2020-01-15 15:29:02 · 810 阅读 · 0 评论 -
web前端安全以及防范措施
以下简单介绍这几种常见的 web 安全问题:XSS CSRF SQL注入 点击劫持除了这个还有同源策略,下面先简单说下这个什么是同源策略?同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源。所以a.com下的js脚本采用ajax读取b.com里面的文件数据是会报错的。不受同源策略限制的:1、页面中的链接,重定向以及表单提交是不会受到...原创 2019-11-24 16:54:55 · 2112 阅读 · 0 评论 -
Grid网格布局用法
一、概述网格布局(Grid)是最强大的 CSS 布局方案。它将网页划分成一个个网格,可以任意组合不同的网格,做出各种各样的布局。以前,只能通过复杂的 CSS 框架达到的效果,现在浏览器内置了上图这样的布局,就是 Grid 布局的拿手好戏。Grid 布局与Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但是,它们也存在重大区别。Flex 布局是轴线布局,只能...原创 2019-10-12 14:18:20 · 715 阅读 · 0 评论 -
JavaScript 字符串常用方法总结
字符串常用方法主要有以下这些:toUpperCase():把一个字符串全部变为大写toLowerCase():把一个字符串全部变为小写indexOf(substr, [start]):会搜索制定字符串出现的位置,有返回索引,没有返回-1lastIndexOf(substr, [start]):查询子字符串,对大小写敏感,返回字符串中子串第一处出现的索引(从右到左)。如果没有匹配项,...原创 2019-09-18 09:59:25 · 218 阅读 · 0 评论 -
js中setInterval和setTimeout
这两个应该大家都认识,我也就不多解释了。今天发现了一个很经典的例子,看下for (var i = 0; i < 5; i++) { setTimeout(function() { console.log(i); }, 1000);}先说下这个不是问你的打印的是什么,是5个5没错,但是是每隔1秒输出一个5 ?还是一秒后立即输出5个5?...原创 2019-07-18 18:16:33 · 534 阅读 · 0 评论 -
jQuery源码分析理解
1: 首先我们先来看一下jquery代码的整体结构 代码从16行开始为真正的jquery源码,我们看到Jquery源码第一个()中是定义了一个匿名function( window, undefined ) {};接着末尾有个(window),就表示执行这个匿名function,并传入参数window。在匿名function( window, undefined ) {}中,定义了一...原创 2019-03-07 19:24:35 · 1052 阅读 · 0 评论 -
正则表达式
正则表达式: 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。字符类[abc] a、b 或 c(简单类)[^abc] 任何字符,除了 a、b 或 c(否定)[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围...原创 2019-03-14 17:03:07 · 2350 阅读 · 0 评论 -
flex布局
布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。下面是支持flex布局的浏览...原创 2019-02-26 18:55:47 · 158 阅读 · 0 评论 -
JavaScript 数组方法总结
数组原型方法主要有以下这些:join()push()和pop()shift() 和 unshift()sort()reverse()concat()slice()splice()indexOf()和 lastIndexOf() (ES5新增)forEach() (ES5新增)map() (ES5新增)filter() (ES5新增)every() (ES5新增)som...原创 2019-01-30 16:19:56 · 179 阅读 · 1 评论 -
包管理工具——Yarn
相对于npm的优势急速 :下载速度真的很快,下载任务是并行下载,而npm是按顺序一个一个下缓存 :会缓存下载过的包,下载过的包甚至可以离线下载,npm就不能清晰 :输出不像npm一点儿也不冗余,并且进度条很形象,谁用谁知道安全 :下载前会检查签名及包的完整性可靠 :各平台依赖一致性,yarn.lock自动更新优化 :下载失败自动重新请求,以及对网络资源最大化利用,避免无用请求ya...原创 2018-12-20 17:54:41 · 585 阅读 · 0 评论 -
vue 常用指令
1、创建一个vue实例 vue的一个特点就是数据驱动界面,一旦对js中的数据进行修改,界面中用到数据的地方也会立马做出更改。为了对界面进行操纵,需要先获取到界面的标签元素,并实例化一个vue实例。例如HTML中有一个div:<div id="app"> <p>{{msg}}</p></div>在js中实例化一个vue: ...转载 2018-11-19 15:30:33 · 201 阅读 · 0 评论 -
js中的for in循环
原型添加属性之后,默认情况下枚举,最后输出1234513function getNewArrayTwo(){var array=[1,2,3,4,5 ];Array.prototype.age=13;var result=[];for(var i in array){result.push(array[i]);}alert(result.join(''));}所以建议不要...原创 2018-10-31 14:39:15 · 8280 阅读 · 0 评论 -
js的单线程和浏览器的多线程
js执行是单线程:(发送请求,接受请求,渲染页面,执行js等等这些就是一个个线程。)JS引擎通常讲到浏览器的时候,我们会说到两个引擎:渲染引擎和JS引擎。渲染引擎就是如何渲染页面,Chrome/Safari/Opera用的是Webkit引擎,IE用的是Trident引擎,FireFox用的是Gecko引擎。不同的引擎对同一个样式的实现不一致,就导致了经常被人诟病的浏览器样式兼容性问题。这里...原创 2018-07-22 17:38:09 · 918 阅读 · 0 评论