SF
前端进阶之路
前端进阶之路
注册登录
关注博客
注册登录
主页
关于
RSS
浅谈js执行机制
william
2018-12-16
阅读 2 分钟
3.6k
关于js执行机制,老早之前就一直想写篇文章做个总结,因为和js执行顺序的面试题碰到的特别多,每次碰到总是会去网上查,没有系统地总结,搞得每次碰到都是似懂非懂的感觉,这篇文章就系统的总结一下js执行机制。
es6之解构赋值
william
2018-12-09
阅读 3 分钟
12.9k
es6的语法已经出了很长的时间了,在使用上也可以通过babel这类的编译工具转译为浏览器可以识别的es5的语法,但是依旧有很多开发在写代码的时候,依旧没有用es6的语法,而是习惯使用老的语法,这篇文章主要会介绍解构赋值基本用法以及在实际使用场景中相比es5语法的优势,让大家从根本上了解es6语法的优势
浅探webpack优化
william
2018-12-01
阅读 5 分钟
5.5k
由于前端的快速发展,相关工具的发展速度也是相当迅猛,各大框架例如vue,react都有自己优秀的脚手架工具来帮助我们快速启动一个新项目,也正式因为这个原因,我们对于脚手架中最关键的一环webpack相关的优化知之甚少,脚手架基本上已经为我们做好了相关的开发准备,但是当我们想要做一些定制化的优化操作时,对webpack的...
Vue中的methods、watch、computed
william
2018-11-25
阅读 3 分钟
4.3k
看到这个标题就知道这篇文章接下来要讲的内容,我们在使用vue的时候methods、watch、computed这三个特性一定经常使用,因为它们是非常的有用,但是没有彻底的理解它们的区别和各自的使用场景,也很难用好它们,希望接下来的介绍为你答疑解惑。
浅探css3渐变
william
2018-11-17
阅读 5 分钟
3.6k
css3的渐变属性已经在各种网页设计中被广泛使用,在没有css3的渐变属性之前,要实现一些多种颜色切换的效果图,你可能别无他法,只能用一个图片来显示,虽然你知道使用图片需要网络请求,既耗带宽又耗时间,下面我将介绍用css3的渐变来改善这一问题。
css文本换行总结
william
2018-11-15
阅读 4 分钟
66.5k
到文本过长的问题,元素的宽度不足以容那文本的内容,文本超出元素显示,遇到这种情况,一般有两种处理方式,一种是超出省略不显示,很暴力,很直接,还有一种就是换行显示,下面我将会介绍几种css种常用的换行方法。
浅探js深拷贝和浅拷贝
william
2018-11-10
阅读 3 分钟
4.6k
对象和数组的拷贝对我来说一直都是一个比较模糊的概念,一直有点一知半解,但是在实际工作中又偶尔会涉及到,有时候还会一不小心掉坑里,不知道大家有没有同样的感受,因此,准备对js对象和数组拷贝一探究竟。提到js的对象和数组拷贝,大家一定会想深拷贝和浅拷贝,但是为什么会有深拷贝和浅拷贝呢?下面就让我简单介绍...
微信小程序性能优化入门指南
william
2018-11-05
阅读 4 分钟
13.1k
小程序从发布到现在也已经有将近两年的时间,越来越来多的公司开始重视小程序生态带来的流量,今年也由于小程序平台对外能力的越来越多的开放以及小程序平台的自身优化,越来越多的开发者也自主的投入到小程序的开发当中,现在,作为前端如果会写小程序,绝对是一个不折不扣的面试加分项。相信不少人刚接触小程序时的感...
js 异步编程
william
2018-10-30
阅读 4 分钟
3.1k
大家都知道js的执行环境是单线程的,如果没有异步编程,那么js的执行效率会非常低下,导致程序十分卡顿,一提到异步编程大家首先的想到的一定是回调函数,这也是最常用的异步编程的形式,但其实常用的还有Promise和Async函数,接下来就让我们一起学习这几种常用的异步编程方法。
css grid布局入门
william
2018-10-28
阅读 4 分钟
4.8k
CSS网格布局(又称“网格”),是一种二维网格布局系统。CSS在处理网页布局方面一直做的不是很好。一开始我们用的是table(表格)布局,然后用float(浮动),position(定位)和inline-block(行内块)布局,但是这些方法本质上是hack,遗漏了很多功能,例如垂直居中。后来出了flexbox盒布局,解决了很多布局问题,但是它仅...
学习CSS中的BFC
william
2018-10-25
阅读 3 分钟
2k
可能上面的解释看了有点懵逼,通俗的说BFC指的的是一块区域的布局, 这个区域的布局有一个显著特点:这个区域内的子元素无论使用何种布局、何种样式都不会影响外部的元素。BFC比较常见的用法就是用来清除浮动的影响,正常不清楚浮动影响的情况下,父元素的高度是会坍塌的
js原型和原型链
william
2018-10-20
阅读 2 分钟
1.6k
几乎所有对象在创建的时候都会生成[[Prototype]]链,就是人们常说的原型链,当你试图引用对象的属性时,会触发对象的[[Get]]操作,对于默认的[[Get]]操作来说,第一步就是去查找当前的对象中有没有你要引用的属性,如果有就会使用它,如果没有找到,就会去查找这个对象的原型链,举个例子:
初探vue-cli 3.0
william
2018-10-17
阅读 3 分钟
3.1k
准备工作 {代码...} 安装需要Node.js8.9以上版本,安装完成后可以通过vue --version来验证是否安装成功 项目创建 vue create 可以通过在命令中输入vue create demo 命令直接创建一个项目,你将会被提示选取一个preset 你可以选择默认的只包含Babel + ESLint设置的preset,也可以手动选择项目中需要集成的特性 如图所示,...
this详解
william
2018-04-15
阅读 4 分钟
1.7k
这段代码可以在不同的上下文对象中重复使用函数identify()和speak()、不用针对每个对象编写不同版本的函数。如果不使用this,那就需要给identify()和speak()显示传入一个上下文对象
你不知道的width:auto
william
2018-04-06
阅读 2 分钟
2.9k
说到widh:auto这个属性大家一定不陌生,也都知道width的默认值是auto,正因为auto是默认值,极少有人去关注auto的宽度表现,下面就让我介绍一下我认识的auto的四种宽度表现 1.充分利用可用空间。比方说,<div>、<p>这些元素的宽度默认是100%与父级容器的。这种充分利用可用空间的行为还有个专有名字,叫作fil...
Promise对象入门
william
2018-03-04
阅读 2 分钟
2.2k
promise对象可以获取异步操作的消息,提供统一的API,各个异步操作都可以用同样的方法进行处理。promise对象不受外界影响,其有三种状态:pending(进行中)、fulfilled(成功)、rejected(失败),只有异步操作的结果可以决定当前状态,一旦状态改变就不可以再变化,状态改变方向有两种:pending -> fulfilled、pend...
Flex布局入门
william
2017-10-22
阅读 7 分钟
2.3k
首先先聊一聊Flex布局是什么?Flex布局表面上类似于块布局,但是它缺少许多可以在块布局中使用的更复杂的文本或文档中心属性,如浮动和列,与此同时,它也获得了一些简单而强大的布局工具,它可以自动调整,计算元素在容器空间的大小
js数组常用方法
william
2017-10-01
阅读 4 分钟
5.1k
Array.join()方法将数组中所有元素都转化为字符串并连接在一起,返回最后生成的字符串。可以指定一个可选的字符串在生成的字符串中来分隔数组的各个元素。如果不指定分隔符,默认使用逗号。示例:
js对象
william
2017-09-24
阅读 3 分钟
1.5k
可配置(configurable attribute),表明是否可以删除或修改该属性在es5之前,通过代码给对象创建的所有属性都是可写的、可枚举的和可配置的。在es5中则可以对这些特性加以配置
this绑定规则
william
2017-09-23
阅读 2 分钟
1.6k
如上例所示,在对象被调用时,调用位置存在上下文对象,one被当作引用属性添加到obj中,当one被调用时,加上了对obj的引用,即此时函数引用有上下文对象,隐式绑定规则会把函数调用中的this绑定到这个上下文对象上,因此此时的this.a等同于obj.aTips:对象属性引用链中只有上一层或者说最里面一层在调用位置中起作用,例子:
闭包
william
2017-09-23
阅读 3 分钟
1.4k
在此例中,将内部函数inner作为返回值,当outter函数执行后,赋值给accept,并且调用accept;实际上调用了inner函数,它在自己定义的词法作用域以外的地方执行。通常在outter函数执行完成之后,由于js的垃圾回收机制,其内部的作用域会被销毁回收,但是由于闭包的存在,accept持有对inner的引用,而inner声明的位置为out...
js作用域
william
2017-09-17
阅读 2 分钟
1.7k
词法作用域就是定义在词法阶段的作用域,简单来说词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此大部分情况下当词法分析器处理代码时会保持作用域不变
js抽象相等
william
2017-09-09
阅读 1 分钟
1.4k
字符串和数字之间的相等比较 如果Type(x)是数字,Type(y)是字符串,则返回x == ToNumber(y)的结果 如果Type(x)是字符串,Type(y)是数字,则返回ToNumber(x) == y的结果 其他类型和布尔类型之间的相等比较 如果Type(x)是布尔类型,则返回ToNumber(x) == y的结果 如果Type(y)是布尔类型。则返回x == ToNumber(y)的结果 {代...
js显示强制类型转换
william
2017-09-03
阅读 2 分钟
3.1k
基本类型的字符串转化规则为:null转化为"null",undefined转化为"undefined",true转化为"true",数字遵循通用规则。注意除了null和undefined的任何值都具有toString方法。Number类定义的toString()方法可以接受表示转换基数的可选参数,如果不指定此参数,转换规则将是基于十进进制。同样,也可以将数字转换为其他进制...
常见的div居中对齐方式
william
2017-09-02
阅读 2 分钟
9.7k
前段时间面试的时候面试题里面对css考察最多的就是div居中对齐的问题,因此特地对div居中对齐的方式做了一个简单的总结,本文的目标就是希望各位在以后根据不同的情况使用不同的居中方式,闲话少说,直接上代码
1
2
(current)
上一页
2
(current)
下一页