- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 ECMAScript的面向对象
一、什么是对象面向对象语言有一个标志,就是类(class)的概念,通过类可以创建任意多个具有相同属性和方法的对象。但是ECMAScript没有类的概念,所以它的对象与其他基于类的语言中的对象有所不同。ECMA-262把对象定义成:“无序属性的集合,其属性包含基本值、对象或者函数。”这句话可以理解为,对象是由一组没有顺序的键值对组成的,值的类型可以为基本值(string、number、boolean、undefined、null)、对象或者函数。二、创建对象的方法ECMAScript和别的面向对象有什
2021-08-23 23:22:55 138
原创 你不知道的JavaScript注释
一、JavaScript注释注释用来在源码中增加提示、笔记、建议、警告等信息,可以帮助阅读和理解源码。在调试时,可以用来将一段代码屏蔽掉,防止其运行。JavaScript的注释分为单行注释 // 和多行注释 /* */ 两种。在单行注释中,在 // 后的文本都会视为注释,用法如下。function comment() { // 这是单行注释 console.log("Hello w...
2019-12-15 17:09:41 372
原创 无重复字符的最长子串
无重复字符的最长子串无重复字符的最长子串题目是LeetCode的第三题,描述如下:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输...
2019-11-28 21:25:43 250
原创 实现Javascript的new
一、new关键字介绍在js里声明对象的方式有好几种,但是每一种方案的底层就是对Object根对象进行一个继承来实现。为了让大家使用的方便,js提供了new关键字,具体的使用方法为var 变量名 = new 方法名(参数),实例代码如下:function Person(name) { this.name = name; this.sayName = function()...
2019-11-16 17:50:58 221
原创 FIFO、LFU算法的js代码实现
FIFO算法FIFO算法过程比较简单,先进入的数据先出来,这种行为方式就和队列是一样的。存入的时候从队列尾部进入,淘汰数据的时候从队列头部淘汰。取缓存的时候,直接遍历列表。示意图如下:FIFO使用js实现代码如下function Cache(key, value) { this.value = value; this.key = key;}functi...
2019-08-25 17:13:35 705
原创 缓存置换算法LRU
一、缓存置换算法介绍在面试阿里前端的时候,面试官提出LRU(Least recently used,最近最少使用)的问题,开始的时候犯一些方向性的错误,在面试官的提示下才想出思路。解决一个问题得分步骤,第一步也是最重要的一步,先搞懂LRU是什么,什么场景下使用LRU?LRU是什么?LRU是内存管理的一种页面置换算法,选择最近最久未使用的页面予以淘汰。通俗一点,内存最多只能存...
2019-08-23 22:48:05 829
原创 js模拟call和apply
一、call和apply介绍call()方法使用一个指定的this值和单独给出的一个或多个参数来调用一个函数。apply()方法调用一个具有给定this值的函数,以及作为一个数组(或类似数组对象)提供的参数。该方法的语法和作用与 apply() 方法类似,只有一个区别,就是 call() 方法接受的是一个参数列表,而 apply() 方法接受的是一个包含多个参数的数组。二...
2019-08-22 21:17:02 150
原创 冒泡排序时间复杂度计算和优化
简介冒泡排序是一种较简单排序算法。它重复地走访过要排序的元素列,依次比较和交换两个相邻的元素,每一次遍历会将一个元素“浮”到数列的顶端,所以命名为冒泡排序。排序过程对于数组[5, 10, 13, 15, 10, 100, 78, 46],要求从小到大排序。从下标为j开始,比较相邻两个元素,如果arr[j] > arr[j + 1],则交换元素。 然后j++,比较下一对元素。...
2019-08-10 17:48:38 4074 3
原创 从零构建react项目
一、背景本人是某小厂的普通前端,正打算学习react,有Vue和Angular的开发经验。用Vue构建过两个小型项目,用Angular构建过一个大型项目。借着学习react的机会,顺便更新一下博客,更新时间尽量保持规律。学习嘛,就简单点,使用react做一个个人网站。二、准备用过Vue和Angular的人都知道,前端项目用npm构建的话是需要引入各种包,还需要配置webpack的...
2019-07-27 23:41:13 157
原创 前端性能优化
1前端性能优化概览用户打开网页的时候,主要经历了5个过程:DNS解析 TCP连接 HTTP请求 服务端处理请求,HTTP响应返回 浏览器解析响应,开始渲染网站的性能优化,要从这5个方面来展开,其中DNS解析、TCP连接需要服务端提供支持才能进行优化,前端能够做的事是有限的。前端在http请求,页面渲染上可以优化的地方非常多。2网络篇http优化优化方向:减少请求次数...
2018-11-26 20:20:42 300 4
原创 vue项目做seo(prerender-spa-plugin预渲染)
对于vue、react、angular这类项目而言,seo真的是一大痛点。为什么seo是spa项目的痛点网络爬虫在爬取网页内容的时候,需要分析页面内容,主要有以下几点:从meta标签中读取keywords、description的内容。 根据语义化的html的标签爬取和分析内容。一个整体都是用div标签的网站和正确使用了html5标签的效果是不一样的。 读取...
2018-07-14 20:28:15 18999 24
原创 使用vue开发移动端页面问题集合
其实vue和这些问题没有什么冲突,移动端的问题主要体现跨域、苹果手机的兼容和微信浏览器上。技术栈vue2.0 + vuex + vue-router + webpack + axios + scss + ES6/7cookies跨域不能携带cookies在跨域的时候,每次刷新,cookies的值都会发生变化。这个时候是已经设置了Access-Control-Allow-Origi...
2018-07-12 21:16:13 6555
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人