
前端基础
文章平均质量分 93
DepressedPrince
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对象和数组的遍历方法
一、对象Object.keys():方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 (两者的主要区别是 一个 for-in 循环还会枚举其原型链上的属性)。// simple arrayvar arr = ['a', 'b', 'c'];console.log(Object.keys(arr...原创 2018-05-27 18:40:23 · 1686 阅读 · 0 评论 -
排序的常用算法
前言:(1)排序的定义:对一序列对象根据某个关键字进行排序;输入:n个数:a1,a2,a3,...,an输出:n个数的排列:a1',a2',a3',...,an',使得a1'<=a2'<=a3'<=...<=an'。再讲的形象点就是排排坐,调座位,高的站在后面,矮的站在前面。(2)对于评述算法优劣术语的说明稳定:如果a原本在b前面,而a=b,排序之后a...转载 2018-05-27 18:46:36 · 370 阅读 · 0 评论 -
前端基础——正则表达式
正则表达式虽然看上去简单,但是在实际的前端开发时,简单的正则表达式却能够节省很大的代码量。正则表达式的功能主要式捕获、匹配。一、基本知识1.组成部分:元字符,限定符号,转义字符,分组,分支条件,反义字符,后向引用。2.在线测试网站:https://regex101.com/(非常好用,强烈推荐)3.元字符:(纠正错误:\w 匹配包括下划线的任何单词字符,单词指的是“Un...原创 2018-05-27 18:46:19 · 1968 阅读 · 0 评论 -
利用CSS实现各种三角形
前言在做前端开发的时候,我们可能会遇到很多需要做三角形的情况,下面就介绍一下使用CSS的transparent属性实现各种各样的三角形。示例:(红色的正倒三角形).box{ height: 0px; //宽和高必须设为0px width: 0px; border-top:10px solid red; border-left:10px solid transp...原创 2018-06-26 11:41:32 · 376 阅读 · 0 评论 -
说一说JS中的连等赋值
前言在我们编写代码,声明变量的时候,为了方便,可能会出现连等赋值的现象,如:a = b = 2 或者 a = b = {name: "Tom"}这样的语句,但是这样实际会给我们埋下很大的坑,在日后也会出现问题。具体的原因详见下文:赋值原理首先要明白一点,对于连等赋值,在申明变量的时候,无论你是使用let或者const,后者的变量都会变成全局变量,...原创 2019-03-08 09:47:41 · 2882 阅读 · 0 评论 -
New 和 Object.create()的区别
前言 我们在创建对象的时候,通常使用的就是new实例化对象,但现在javascript的标准里面提出了新的方案:Object.create(),详情详细的介绍可以点击查看MDN。下面就简单介绍一下两者的区别。New new是js中的操作符,可以创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。语法: new constructor ( [aguments] ) ...原创 2018-07-05 10:15:45 · 4225 阅读 · 0 评论 -
令人困惑的JavaScript
前言今天看了一个网站,有博主将js常见的问题都列举出来。刚开始时我都还是跃跃欲试,心想自己学习js还是有很长一段时间了,应该不会有太大的问题吧!但是现实打脸来的太快,果然自己的水平还是太菜了,对于底层的原理还需要好好了解一下。该篇博文是记录了做题中自己发现的盲点以及易错点。大家也可以实际去做做看,附上网址题目和自己的理解1.题目: ["1", "2", "3"].map(pars...原创 2019-02-12 14:25:19 · 288 阅读 · 0 评论 -
对象新增方法杂谈
前言 最近在重温ES6,看的资料自然是阮一峰的《ECMAScript 6 入门》,看到对象的新增方法一章,特此记录一下。1. Object.is() —— “同值相等”,判断两个值是否严格相等,和“===”有些许细微差别不同之处只有两个:一是+0不等于-0,二是NaN等于自身。+0 === -0 //trueNaN === NaN // falseObject....原创 2019-03-08 09:47:03 · 228 阅读 · 0 评论 -
JavaScript 的事件模型
前言原创 2019-02-15 18:31:38 · 366 阅读 · 0 评论 -
重排(reflow)& 重绘(repaint)
什么是重排和重绘?重排(重构/回流/reflow):当渲染树中的一部分(或全部)因为元素的规模尺寸,布局,隐藏显示等改变而需要重新构建, 这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候。重绘(repaint):当盒子的位置、大小以及其他属性,例如颜色、字体大小等都确定下来之后,浏览器便把这些元素都按照各自的属性绘制一遍,将内容呈现在页面上。重绘是指一个元...转载 2019-02-28 14:12:11 · 594 阅读 · 0 评论 -
localStorage , SsessionStorage , Cookie , Session的联系与区别
一、Web本地存储【含义说明】localStorage(长期存储):浏览器关闭后,数据一直存在,不会被清除,即没有时间限制。seesionStorage(临时存储):针对每一个session进行数据存储。只有当浏览器关闭窗口后,数据才会被清除。注意:本地存储都是不能跨域访问的。不同浏览器的存储限制也不一样,chrome一般限制为5M。当存储的Storage超过限制的时候,可以...原创 2018-05-27 18:42:55 · 469 阅读 · 0 评论 -
JavaScript代码执行机制
前言 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML网页上使用,用来给HTML网页增加动态功能。JavaScript兼容于ECMA标准,因此也称为ECMAScript。一、代码块 JS中的代码块是指由<script>标签分割的代码段。JS...原创 2018-05-27 18:45:27 · 1334 阅读 · 0 评论 -
跨域与跨域访问
一、跨域问题跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。跨域的严格一点的定义是:只要 协议,域名,端口有任何一个的不同,就被当作是跨域。注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。浏览器执行javascript脚本时,会...转载 2018-05-27 18:45:01 · 1332 阅读 · 0 评论 -
CSS基础(盒模型,Position,display,水平垂直居中,CSS兼容,伪类,清除浮动)
一、盒模型W3C盒模型IE盒模型两者的区别就在于Width的计算,标准盒子模型的宽度直接就是内容宽度,而IE盒子模型的宽度则是需要算上Padding和border。可以通过box-sizing来切换盒模型,详情如下:1)box-sizing:content-box ——padding和border不被包含在定义的width和height之内,即标准盒子模型2)b...原创 2018-05-27 18:47:17 · 751 阅读 · 0 评论 -
数组的常见操作
1、数组的创建var arrayObj = new Array() 或者 var arrayObj = []; //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]...转载 2018-05-27 18:39:36 · 273 阅读 · 0 评论 -
HTTP缓存机制
前言Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。在此,我会尝试用简单明了的文字,像大家系统的介绍HTTP缓存机制,期望对各位正确的理解前...转载 2018-05-27 18:33:42 · 165 阅读 · 0 评论 -
前端模块化:CommonJS,CMD,AMD,ES6
前言:模块化的开发方式可以提高代码复用率,方便进行代码的管理。通常一个文件就是一个模块,有自己的作用域,只向外暴露特定的变量和函数。目前流行的js模块化规范有CommonJS、AMD、CMD以及ES6的模块系统。一、CommonJS(服务器端)一个文件就是一个模块,每个模块都是单独的作用域,除非定义为global对象的属性 输出模块module.exports对象 ...转载 2018-06-06 22:35:36 · 420 阅读 · 0 评论 -
JS模拟实现call,apply,bind
前言 我相信对于call,applay,bind三者之前的用法与区别,小伙伴们肯定都很清楚了,毕竟这也是面试的高频试题,之前面试的时候,当面试官提到call的时候我可是心花怒放,正准备侃侃而谈的时候,面试官说请用js模拟call的用法,限时5分钟。当时就懵了,脑子里只有它的各种用法,但内部究竟如何实现的,还真没有研究过,当时就唱了一首凉凉给自己。失败不可怕,所以今天特写文一篇,纪...转载 2019-02-17 20:32:37 · 349 阅读 · 0 评论 -
JS对象中的属性
前言在javaScript中,对象的属性分为两种类型:数据属性和访问器属性。一、数据属性1.数据属性:它包含的是一个数据值的位置,在这个位置可以读取和写入数据值。2.数据属性包含四个特性,分别是:configurable:表示能否通过delete删除属性从而重新定义属性,能否修改属性的特性,或能否把属性修改为访问器属性,默认为true enumerable:表示能否通过f...原创 2018-06-05 10:29:16 · 956 阅读 · 0 评论 -
JS中的数据类型和类型转换
一、数据类型JS中的简单数据类型可以分为五种:Number 、String 、Boolean、Undefined 、Null。Number:数字类型 ,整型浮点型都包括;String:字符串类型,右数字字母字符串以及标点符号组成,必须放在单引号或者双引号中;Boolean:布尔类型,只有true和false两种值;Undefined:未定义,一般指的是已经声明,但是没有赋值的...转载 2018-05-27 18:38:48 · 332 阅读 · 0 评论 -
函数声明,变量声明,变量赋值的机制
一、函数声明方式:1)变量声明:var foo = function () { ....}2)函数声明:function foo(){ .....}函数参数:都是按值传递(把函数外部的值复制给函数内部的参数)而变量复制则有两种方式——按地址传递还是按值传递,这个就要涉及到变量的基础类型和应用类型的区别,详情见下文函数体中要用到的中间变量尽量...原创 2018-05-27 22:15:39 · 6269 阅读 · 0 评论 -
JSON 和 JSONP 的联系与区别
一、JSONJSON是一种轻量级的数据交换格式优点:1、基于纯文本,跨平台传递极其简单; 2、Javascript原生支持,后台语言几乎全部支持; 3、轻量级数据格式,占用字符数量极少; 4、可读性较强,容易编写和解析;var conference = { "Conference": "Future Marketing", "Date": "2...转载 2018-05-27 18:41:04 · 276 阅读 · 0 评论 -
JS内存泄漏排查
定义内存泄漏:应用程序不再需要的内存,由于某种原因,内存没有返回到操作系统或可用内存池中。原因1.意外的全局变量JS在处理未声明的变量时,对未声明的变量的引用会在全局对象内创建一个新变量。这些全局变量是无法进行垃圾回收的(除非将它们赋值为 null 或重新进行分配),所以对于存储大量数据的全局变量,确保在使用完之后,对其赋值为 null 或者重新分配。function le...转载 2019-03-08 09:48:58 · 1116 阅读 · 0 评论