缓存面试中一个经常被问到的问题。首先缓存有很多种例如 CDN 缓存,数据库缓存,代理服务器缓存,浏览器缓存,这里主要说说浏览器缓存。
什么是浏览器缓存简单理解,主要指 http 的缓存——即协议层,应该是浏览器储存了的一些页面资源文件,例如 js,css,图片等等
浏览器缓存有哪些类别
强缓存
协商缓存
强缓存只有当缓存失效,才会去服务端获取新的资源,否则都使用本地缓存。与强缓存相关的属性
E
Continue reading
Javascript 中有几个有趣的方法,它们位于 Function 对象原型上面,分别是:
Function.prototype.call
Function.prototype.apply
Function.prototype.bind
今天我们就说说它们的用法和区别。
Function.prototype.callMDN 上面是这样定义它的
fun.call(thisArg, arg1,
Continue reading
现在前端都是工程化开发,很多成熟的脚手架来帮助我们省掉搭建工程的时间,比如 React Starter Kit,Create-react-app,DVA 等等。但是一些基本知识我们还是需要知道的。
今天就记录一下 Webpack 在开发过程中经常用到的热加载模块简称 HMR,因为在 webpack 看来,一切皆模块,所以这个模块替换,对它来说是很容易做到的
如何在开发中开启热替换呢- 使用 web
Continue reading
在 javascript 中,最常用的就是 Object 对象了,MDN 中有这么一段话
几乎所有 JavaScript 中的对象都是位于原型链顶端的 Object 的实例。
如何在 javascript 中如何创建一个 Object 对象
使用字面量
12345let person = { name: 'bin hong', age: 28}let home = &
Continue reading
JAVASCRIPT 中的变量提升MDN 中说明
Only declarations are hoisted
所以看看下面的代码
12console.info(a) //undefinedvar a = 1
123a = 2console.info(a) //2var a
我们来拆解一下第一种写法等同于
123console.info(a)var aa = 1
根据变量提升的规则
123var
Continue reading
之前对于 Javascript 的的理解一直停留在框架的使用上面,确实也需要理一理 Javascript 的一些基础知识了。本篇就总结下个人理解的 Object 对象上面的 defineProperty 方法。
defineProperty 方法不在 Object 的原型上面,而是在 Object 对象上面这也就意味着,使用它的方式是Object.defineProperty(obj, prop,
Continue reading
React 和 Vue 的区别相同点:
都是属于 UI 层的框架
都是虚拟 dom
都有组件化的概念
两者都支持使用 Typescript 编写
组件中的数据传递,默认都是单向,如果子组件需要传递属性给父组件,则需要使用 callback 的形式
不同点:
页面实现上,Vue 使用模板语法,React 使用 JSX 羽语法,类似于 Vue 使用 v-if 指令来控制元素是否显示,React
Continue reading