写在开头 这篇文章是面试系列的第一篇,写这个系列其实不仅仅是为了找工作,也是想将JS中重要的,容易混淆的知识点研究清楚,题目来自于github上的一个开源项目。 前端工作面试问题 undefined 和 undeclar…
分类:前端开发
ES6 的解构赋值前每次都创建一个对象吗?会加重 GC 的负担吗?
本文来源于知乎上的一个提问。 为了程序的易读性,我们会使用 ES6 的解构赋值: function f({a,b}){} f({a:1,b:2}); 这个例子的函数调用中,会真的产生一个对象吗?如果会,那大量的函数调用会…
React高阶组件,了解一下呗!
前言 学习react已经有一段时间了,期间在阅读官方文档的基础上也看了不少文章,但感觉对很多东西的理解还是不够深刻,因此这段时间又在撸一个基于react全家桶的聊天App(现在还在瞎78写的阶段,在往这个聊天App这个方…
Day.12.24 HTML框架案例
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> 框架案例 </title>…
还在慢慢码Html/Css吗?或许可以试试Emmet
痛点 在日常的前端开发中,不管我们是使用React,Vue之类对框架,还是使用传统的一些开发方式,我们都无法避免要写一些原生html或者css的代码。而码html/css的代码有时候会很繁琐,需要频繁的移动光标,或者类似…
Flex 初探
传统的布局方案,基于 display + position + float 属性实现,但是,传统的布局方案有很多限制,在布局要求越来越多的今天,很多布局需要花费很大精力才能实现。 在这样的背景下,Flex 布局在 200…
性能优化
构建对象模型 浏览器渲染页面前需要先构建 DOM 和 CSSOM 树。因此,我们需要确保尽快将 HTML 和 CSS 都提供给浏览器。 字节 → 字符 → 令牌 → 节点 → 对象模型。 HTML 标记转换成文档对象模型…
JavaScript变量及函数
什么是函数 函数就是可以重复执行的代码块。 为什么要使用函数 因为一部分代码使用次数可能会很多,所以封装起来,需要的时候调用就可以了。 1.变量和作用域(隐式全局变量和变量声明提升) 1.1变量和作用域(函数中的变量需要…
包含块
包含块(Containing Block) 某个元素的尺寸和位置的计算往往是由该元素所在的包含块决定的,包含块不会特指某个元素区域,而是一块视觉假想出来的一块区域,理解了他就可以方便的为元素进行定位。 那怎么知道一个元素…
RequireJS模块化
RequireJS官网:www.requirejs.org 为什么使用RequireJS 1、有效的防止变量冲突 2、解决不同的js文件之间的依赖 3、可以写出模块化的代码 RequireJS常用的方法: 1、requi…
Vue插件打包与发布
插件功能开发完成后,若需要发布到公共组件库中(例如:npmjs),需要对插件进行打包并发布,简单说明一下这个过程,以插件名 dialog 为例 创建 dialog 目录,并进入 运行命令行,初始化项目,生成 packag…
JavaScript的变量声明提升
说变量声明提升之前,先抛出一个疑问:JavaScript是解释型语言,还是编译型语言? 对于这个问题,几乎所有初学者都坚定不移的给了我答案:“JavaScript是解释型语言”,但是随着你对JavaScript的了解,会…