10 高众

盛趣时代 - 其他

我要认证

求知若渴,虚心若愚。

等级
TA的排名 8k+

前端面试中常见的算法问题总结

虽说我们很多时候前端很少有机会接触到算法。大多都交互性的操作,然而从各大公司面试来看,算法依旧是考察的一方面。实际上学习数据结构与算法对于工程师去理解和分析问题都是有帮助的。如果将来当我们面对较为复杂的问题,这些基础知识的积累可以帮助我们更好的优化解决思路。下面罗列在前端面试中经常撞见的几个问题吧。Q1 判断一个单词是否是回文?回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环。比如 mamam redivider .很多人拿到这样的题目非常容易.

2020-07-07 11:25:13

Event Loop 在浏览器和Node端的差异

由于js是单线程语言,为了解决异步操作所以设计了事件循环。宏任务:setTimeout、setInterval、script(整体代码)、 I/O 操作、UI 渲染等微任务:setImmediate、process.nextTick()、new Promise().then(回调)、MutationObserver(html5新特性)在事件循环中,宏任务和微任务分成了两类的队列,为了便于理解,微任务相当于是追加在宏任务队列后的一个独立的队列。差异:setTimeout、setInt...

2020-07-06 10:16:48

JavaScript 数组中的 indexOf 方法详解

最近项目遇到一个小问题代码我会简化成小例子展示给大家。用心看到最后会有收获哈,基础扎实的童鞋可以直接跳到数组类型使用。说到 indexOf 大家并不陌生,判断字符串是否包涵子字符串时特别常用(正则不熟练同学的利器)。String 类型的使用温习一下大家熟知的字符串用法,举个例子let str = 'orange';str.indexOf('o'); //0str.indexOf('n'); //3str.indexOf('c'); //-1这里 0 和 3 分别.

2020-07-06 10:16:24

用js代码触发dom事件的实现方案

背景前端编写测试用例时,在测试界面上的一些效果时,通常都希望能够模拟一些用户操作,而模拟用户操作最主要的方式就是用代码触发指定事件。通常一些元素上会自带一些触发事件的方法,例如click、focus等,但是如果是其他的事件,例如mousedown、mouseup、mouseenter,这些事件怎么模拟呢?思路其实思路很简单,web标准中定义了一系列API接口,其中dispatchEvent允许我们向一个指定的事件目标派发一个事件,而且使用这个方法触发的事件是可以正常触发我们的标准事件处理规.

2020-07-06 10:15:35

微信小程序流量主开通以及添加广告步骤

1、申请成为流量主首先进入小程序后台,点击流量主,点击开通。开通条件:累计独立访客(UV)不低于1000无严重违纪同意协议并点击下一步。填写个人的相关信息,包括身份证、收款账户等等。注:开户名称 = 开户姓名最后提交,系统会进行审核,审核时间说是大约一周,但是我上午提交的申请,第二天就通过了,效率还是挺高的。2、在小程序中嵌入广告审核通过后,后台界面会做出相应的变化,我们根据提示来创建广告位。点击获取代码,将广告位的代码复制下来,并放在..

2020-07-06 10:14:53

Flutter vs React Native vs Native:深度性能比较

研究背后的故事inVerita(inveritasoft.com/)一直致力于移动跨平台方案的性能问题,以此来解答哪种场景下开发者需要使用 Flutter 、 React Native 或原生开发,甚至是你需要选择哪个职业。在之前的 《Flutter vs Native vs React-Native: Examining performance》 对比中有一个颇有争议的点,其中有人提出正常情况下我们是不会在 React Native 进行这些重复和复杂的计算,虽然在这种情况下,使用 Flutter

2020-07-06 10:14:43

typescript三种作用域

typescript三种作用域全局作用域 − 全局变量定义在程序结构的外部,它可以在你代码的任何位置使用。类作用域 − 这个变量也可以称为 字段。类变量声明在一个类里头,但在类的方法外面。 该变量可以通过类的对象来访问。类变量也可以是静态的,静态的变量可以通过类名直接访问。局部作用域 − 局部变量,局部变量只能在声明它的一个代码块(如:方法)中使用代码var global_num = 12 // 全局变量class Numbers { nu...

2020-07-06 10:14:36

网站统计 PV、UV、IP的区别

PV(访问量):即Page View,即页面浏览量或点击量,在一定统计周期内用户每次刷新网页一次即被计算一次。UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次。...

2020-07-06 10:14:29

webpack 全局安装指定版本

npm install webpack@3.0.0 -g

2020-07-06 10:14:22

vue 中vuex的最简单使用

首先我们要知道什么是vuex,请看官方的解释:“vuex 是一个专为vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。vuex 也集成到vue的官方调试工具devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。”是不是看完了也是一头雾水,那就对了,因为官方的解释,都是在用一个概念解释另一个概念。所以,看完了解释,初学者不明白很正常。姑且把这段话...

2020-07-06 10:14:14

TypeScript 中的顶级类型:any 和 unknown

TypeScript 的两种顶级类型any和unknown在 TypeScript 中是所谓的“顶部类型”。以下文字引用自Wikipedia:top type[...]是通用(universal)类型,有时也称为通用超类型,因为在任何给定类型系统中,所有其他类型都是子类型[...]。通常,类型是包含了其相关类型系统中所有可能的[值]的类型。也就是说,当把类型看作是值的集合时,any和unknown是包含所有值的集合。顺便说一句,TypeScript 还有bottom ty...

2020-07-06 10:13:29

HTML5显示桌面通知Notification

使用Notification的流程1.检查浏览器是否支持Notification2.检查浏览器的通知权限3.如果权限不够则申请获取权限4.创建消息通知5.展示消息通知Notification API构造方法let notification = new Notification(title, options)参数title: 通知的标题options:dir : 文字的方向;它的值可以是 auto(自动), ltr(从左到右), or rtl(从右到左)lan.

2020-07-03 11:20:42

ajax设置header头部之后造成跨域的解决方案

解决跨域调用服务并设置headers 主要的解决方法需要通过服务器端设置响应头、正确响应options请求,正确设置 JavaScript端需要设置的headers信息 方能实现。此处手札 供后人参考~1.第一步 服务端设置响应头header('Access-Control-Allow-Origin:*'); //支持全域名访问,不安全,部署后需要固定限制为客户端网址header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELET..

2020-07-03 11:20:12

浏览器中实现JavaScript计时器的4种创新方式

在 Web Worker中使用无限同步循环由于 Web Worker 本质上是Web线程,因此你可以在其中无限循环而不阻塞主线程。这使你可以访问微秒级的时间分辨率。这对于在 Worker 中做出时间关键的决策是特别实用的,可以让主线程准确的知道什么时候合适。例如:只要微秒是质数,就渲染某些东西。要访问微秒,你可以使用 performance.now。优点微秒级分辨率。 UI线程的成本几乎为零。 利用 Web Workers 的消息传递设计,从UI线程角度完全异步。 安全结束,与 setIn

2020-07-03 11:19:29

javascript判断浏览器类型与版本

除了另无它法,肯定不使用navigator.userAgent来判定浏览器。因为在第一次浏览器大战初期,Netscape占绝对统计地位,大部分人们不愿意兼容其他浏览器,并通过检测其UA让他们的网站只允许Netscape访问,这就逼使其他浏览器(包括IE)修改自己的UA伪装成Netscape来通过那些自以为是的脚本,于是出现每个人都声称自己是别人的局面,即使最新的IE9的UA也是://Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5

2020-07-03 11:18:08

在vue项目中封装echarts的正确姿势

为什么需要封装echarts每个开发者在制作图表时都需要从头到尾书写一遍完整的option配置,十分冗余在同一个项目中,各类图表设计十分相似,甚至是相同,没必要一直做重复工作可能有一些开发者忘记考虑echarts更新数据的特性,以及窗口缩放时的适应问题。这样导致数据更新了echarts视图却没有更新,窗口缩放引起echarts图形变形问题我希望这个echarts组件能设计成什么样业务数据和样式配置数据分离,我只需要传入业务数据就行了它的大小要完全由使用者决定不会因为缩放出现.

2020-07-03 11:17:38

你不知道的空格

Level1: 半角空格历史最悠久的空格,在1967年,ASCII 规范中被定义。空格在 ASCII 中编码为0x20, 占位符为一个半角字符。在日常英文书写和代码编写中使用。Level2: 全角空格中文输入中的空格(标准说法为中日韩表意字符(CJK)中使用的宽空格)。和其他汉字一样,作为GBK的一个字符,其对应的unicode码为\u3000.宽度是2个半角空格的大小。例如: 国父 孙中山先生 Level3: 不间断空格 ( non-breaking space )..

2020-07-03 11:16:06

Flutter 是如何渲染的?

要解答这个问题,首先需要认识到 Flutter 中有三棵树:Widget树,Element树和RenderObject树。当应用启动时 Flutter 会遍历并创建所有的Widget形成Widget Tree,同时与Widget Tree相对应,通过调用Widget上的createElement()方法创建每个Element对象,形成Element Tree。最后调用Element的createRenderObject()方法创建每个渲染对象,形成一个...

2020-07-03 11:14:29

css如何让文字不换行显示?

在CSS中,可以通过white-space属性来实现文字不换行显示;只要将white-space属性的值为nowrap就可强制文字不换行。white-space属性指定元素内的空白怎样处理。它有以下属性值: normal:默认。空白会被浏览器忽略。 pre:空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。 nowrap:文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。 pre-wrap:保留空白符序列,

2020-07-03 11:13:16

js 生成随机数

js 可以使用 Math(算数) 对象来实现随机数的生成。需要了解的 Math 对象方法方法 描述 ceil(x) 对数进行上舍入,即向上取整。 floor(x) 对 x 进行下舍入,即向下取整。 round(x) 四舍五入。 random() 返回 0 ~ 1 之间的随机数,包含 0 不包含 1。 一些实例说明:Math.ceil(Math.random()*10); // 获取从 1 到 10 的随机整数,取 0 的概率极小。.

2020-07-03 11:11:12

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。