JavaScript|Node 第2页

javascript知识积累 NodeJS、jQuery、Angular、React、Vue

浏览器与node环境的事件循环机制

3

前端学堂 发布于 2019-07-15

我们都知道,javascript从诞生之日起就是一门单线程的非阻塞的脚本语言。这是由其最初的用途来决定的:与浏览器交互。 单线程意味着,javascript代码在执行的任何时候,都只有一个主线程来处理所有的任务。 而非阻塞则是当代码需要进行一项异步任务(无法立刻返回结果,需要花一...

阅读(86)赞 (3)

浅克隆与深克隆

前端学堂 发布于 2019-07-10

实现一个深克隆是面试中常见的问题的,可是绝大多数面试者的答案都是不完整的,甚至是错误的,这个时候面试官会不断追问,看看你到底理解不理解深克隆的原理,很多情况下一些一知半解的面试者就原形毕漏了. 我们就来看一下如何实现一个深克隆,当然面试中没有让你完整实现的时候,但是你一定要搞清楚...

阅读(101)赞 (3)

自己写个前端路由

4

前端学堂 发布于 2019-07-09

前端路由是现代SPA应用必备的功能,每个现代前端框架都有对应的实现,例如vue-router、react-router。 我们不想探究vue-router或者react-router们的实现,因为不管是哪种路由无外乎用兼容性更好的hash实现或者是H5 History实现,与框架...

阅读(75)赞 (3)

基于发布订阅模式写一个eventEmitter

前端学堂 发布于 2019-07-09

本文标题的题目是由其他问题延伸而来,面试中面试官的常用套路,揪住一个问题一直深挖,在产生这个问题之前一定是这个问题. React/Vue不同组件之间是怎么通信的? Vue 父子组件用Props通信 非父子组件用Event Bus通信 如果项目够复杂,可能需要Vuex等全局状态管理...

阅读(114)赞 (3)

关于对象的访问优化

1

前端学堂 发布于 2019-07-09

先划重点:要拥有最高的性能,尽量让对象处于快速模式 一切的一切先从一段 benchmark 开始说起: setup block: function createObjects() { return [ {x: 1, y: 2, z: 3}, {a: 1, b: 2, c: 3} ...

阅读(55)赞 (3)

vue对于vdom的处理

6

前端学堂 发布于 2019-07-03

细谈 vue 核心- vdom 篇 在开始之前,我先抛出一个问题,大家可以先思考,然后再接着阅读后面的篇幅。先上下代码 <template> <el-select class="test-select" multiple filterable remote pl...

阅读(97)赞 (3)

Object.defineProperty与Proxy

前端学堂 发布于 2019-07-01

Object.observe() 方法用于异步地监视一个对象的修改。当对象属性被修改时,方法的回调函数会提供一个有序的修改流。然而,这个接口已经被废弃并从各浏览器中移除。你可以使用更通用的 Proxy 对象替代。 写了两个版本,分别是使用 js 里的 Proxy (代理)和 Ob...

阅读(73)赞 (3)

构建DOM和CSSOM

4

前端学堂 发布于 2019-06-27

什么是DOM Document Object Model 文档对象模型 什么是DOM?可能很多人第一反应就是div、p、span等html标签(至少我是),但要知道,DOM是Model,是Object Model,对象模型,是为HTML(and XML)提供的API。HTML(H...

阅读(151)赞 (3)

详解Object.create(null)和new区别

7

前端学堂 发布于 2019-06-25

在Vue和Vuex的源码中,作者都使用了Object.create(null)来初始化一个新对象。为什么不用更简洁的{}呢? Object.create()使用 照搬一下MDN上的定义: Object.create(proto,[propertiesObject]) 复制代码 p...

阅读(189)赞 (4)

使用注释和JSDOC让代码更规范

8

前端学堂 发布于 2019-06-21

首先,JSDoc 并不会对源码产生任何的影响,所有的内容都是写在注释里边的。 所以并不需要担心 JSDoc 会对你的程序造成什么负面影响。 可以先来看一个普通的 JavaScript 文件在编辑器中的展示效果: 很显而易见的,编辑器也不能够确定这个函数究竟是什么含义,因为任何类型...

阅读(207)赞 (3)

简述Chromium, CEF, Webkit, JavaScriptCore, V8, Blink

4

前端学堂 发布于 2019-06-11

了解浏览器 浏览器内核概念 浏览器内核分为两部分:渲染引擎(render engin)、js引擎(js engin) 渲染引擎:负责对网页语法的解释(HTML、javaScript、引入css等),并渲染(显示)网页 js引擎:javaScript的解释、编译、执行 主流内核:T...

阅读(115)赞 (3)

单行多行文本溢出展示…

前端学堂 发布于 2019-06-11

单行文本溢出显示省略号 overflow:hidden; text-overflow:ellipsis; white-space:nowrap; (需要对容器设置单行高度) 多行文本溢出显示省略号 webkit浏览器或移动端的页面 在webkit浏览器或移动端(绝大部分是webk...

阅读(100)赞 (2)