xiyanxin

Results 5 issues of xiyanxin

### 前言 其实一开始对栈、堆的概念特别模糊,只知道好像跟内存有关,又好像事件循环也沾一点边。面试薄荷的时候,面试官正好也问到了这个问题,当时只能大方的承认不会。痛定思痛,回去好好的研究一番。 我们将从```JS的内存机制```以及```事件机制```和```大量的🌰(例子)```来了解栈、堆究竟是个什么玩意。概念比较多,不用死读,所有的🌰心里想一遍,浏览器console看一遍就很清楚了。 let's go ## JS内存机制 因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存空间并不是一个经常被提及的概念,很容易被大家忽视。特别是很多不专业的朋友在进入到前端之后,会对内存空间的认知比较模糊。 在JS中,每一个数据都需要一个内存空间。内存空间又被分为两种,**栈内存(stack)**与**堆内存(heap)**。 ### 栈内存一般储存基础数据类型 ``` Number String Null Undefined Boolean (es6新引入了一种数据类型,Symbol) ``` #### 最简单的🌰 ``` var a = 1 ``` 我们定义一个变量a,系统自动分配存储空间。我们可以直接操作保存在栈内存空间的值,因此基础数据类型都是按值访问。 数据在栈内存中的存储与使用方式类似于数据结构中的堆栈数据结构,遵循**后进先出**的原则。...

## 前言 随着技术的不断发展,前端工程师也被赋予了越来越多的职责。不再是从前只需要切个图,加个css样式就能完成任务的切图仔了。接下来这篇文章,完成一个简单的登录注册,能让你快速上手,成为一个‘小全栈工程师’,here we go ! ![15371488705139](https://user-images.githubusercontent.com/23029985/46925332-ebb76200-d05d-11e8-8095-663cc6642012.jpg) ## koa快速开始 ### 安装 * 因为node.js v7.6.x已经完全支持async/await语法,所以请保证node的版本在7.6以上 * 推荐一个node的多版本管理工具:nvm。如何安装这里不再赘述,网上的教程有很多 * https://github.com/creationix/nvm ```javascript // 初始化package.json npm init // 安装koa2 npm install koa ``` ###...

# 前言 据说阿里有一道面试题就是谈谈**函数节流**和**函数防抖**。 糟了,这可触碰到我的知识盲区了,好像听也没听过这2个东西,痛定思痛,赶紧学习学习。here we go! ![15341407332107](https://user-images.githubusercontent.com/23029985/45005576-ce3ab580-b026-11e8-93a4-a330b0b2aaad.jpg) # 概念和例子 ### 函数防抖(debounce) > 在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时。 看一个🌰(栗子): ```javascript //模拟一段ajax请求 function ajax(content) { console.log('ajax request ' + content) } let inputa = document.getElementById('unDebounce') inputa.addEventListener('keyup',...

### 前言 react使用也有一段时间了,大家对这个框架褒奖有加,但是它究竟好在哪里呢? 让我们结合它的源码,探究一二!(当前源码为react16,读者要对react有一定的了解) ![15397566862932](https://user-images.githubusercontent.com/23029985/47539567-943daf80-d903-11e8-9fed-1cdd270e8bd3.jpg) ### 回到最初 根据react官网上的例子,快速构建react项目 ```js npx create-react-app my-app cd my-app npm start ``` 打开项目并跑起来以后,暂不关心项目结构及语法糖,看到`App.js`里,这是一个基本的react组件 我们console一下,看看有什么结果。 ```js import React, { Component } from 'react'; import logo from...

## web前端的发展趋势 ## 前言 你一个写前端的,也敢自称程序员?? ![15308408976286](https://user-images.githubusercontent.com/23029985/42355623-8f3fa7dc-8100-11e8-89d0-36418d473408.jpg) 相信web前端开发的伙伴们,在职业道路上,十有八九会受到这样的质疑或者嘲讽(大多数其实还是调侃之意)。写几个标签,懂一些HTML CSS 就是程序员? 你们知道CPU、存储、网络、集群吗? 你们了解过并发、业务架构、数据库、性能调优、分布式计算、集群架构、容灾、安全、运维吗 哼 辣鸡👎 ### 今日我们为前端带盐 近年来,Web 应用在整个软件与互联网行业承载的责任越来越重,软件复杂度和维护成本越来越高,Web 技术,尤其是 Web 客户端技术,迎来了爆发式的发展。 * 1.用Node做中间层的前端工程化方案 * 2.Webpack、Rollup 这样的打包工具;Babel、PostCSS 这样的转译工具 * 3.前端三架马车React、Angular、Vue 这样面向现代 web...