///function定义函数
function aaa(a,b){
return a+b;
}
///箭头函数定义函数
var aaa=(a,b)=>{return a+b;}
///function定义函数中的this指向
function aaa(){
console.log(this)
}
var obj={
aaa:aaa
};
aaa();//此时输出window对象
obj.aaa();//此时输出obj对象
///箭头函数中的this指向
var aaa=()=>{
console.log(this)
};
var obj={
aaa:aaa
}
aaa();//此时指向window
obj.aaa();//此时指向window
///使用function方法定义构造函数
function per(){
this.name='aaa';
this.sex='man'
};
var ming=new per();
console.log(ming); /// {name: "aaa", sex: "man"}
///使用箭头函数定义构造函数
var per=>{
this.name='bbb';
this.sex='women';
};
var gang=new per();
///运行便会报错:Uncaught TypeError: per is not a constructor
//function定义函数时候的位置
aaa();//aaa
function aaa(){
console.log('aaa')
}
///箭头函数定义的位置
var aaa=()=>{
console.log('aaa')
};
aaa();//aaa
bbb();///报错bbb is not a function
var bbb=()=>{
console.log('bbb')
}
1.箭头函数与普通函数的区别?
(1)简洁
(2)this指向
function传统定义的函数,this指向随着调用环境的改变而改变,而箭头 函数中的指向则是固定不变,一直指向定义环境的。
(3)构造函数
箭头函数固然好用,但是不能用于构造函数,即不能使用new
(4)变量提升
由于js的内存机制,function的级别最高,而用箭头函数定义函数的时候,需要var(let const定义的时候更不必说)关键词,而var所定义的变量不能得到变量提升,故箭头函数一定要定义于调用之前!
2.代理与反向代理的区别及各自的用途?
3.Redis数据类型有哪些及各自的使用场景?
参考
4.Redis key过期策略、数据过期机制、Redis集群配置/主从/哨兵模式
5.docker与虚拟机的区别及两者各自的优缺点
6.express/koa/egg区别差异是否读过源码
7.中间件的实现原理是什么
8.异步处理有哪些方式,原理分别是什么?
Promise探讨
JavaScript基础——Promise使用指南
JavaScript基础——回调(callback)是什么?
JavaScript基础——你真的了解JavaScript吗?
也许,这样理解HTTPS更容易
事件循环机制的那些事
9.线程与进程的区别
10.谈谈对ES6的了解
ES6核心属性
ES6完全使用手册
11.什么是闭包
12.谈谈对this的认识
13.cookie与session的区别是什么
14.mysql数据库引擎有哪些及各自的特点
15.MySQL索引有哪些及各自的特性和应用场景
16.Rest api 请求方式有哪些,put和post有何区别
17.css常见的定位方式
18.谈谈对react的理解,是否有了解过diff算法
19.state与props的区别
20.常见面试题筛选
2018年,最常见的26个JavaScript面试题和答案
木易杨
阿里一面:关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案
记一次蚂蚁金服的面试经历
大厂前端高频面试问题与答案精选
腾讯前端面试篇和详细题解(二)
叮!阿里offer请查收!--【一周面试题】
程序猿的今日头条面试历险记(一)
【一周面试题】12月x厂面试题
百度秋招面试题
简单高效的sort排序&经典案例解析
javascript高级排序算法之归并排序
FEGuide基础面试库
2018大厂高级前端面试题汇总
常见 React 面试题
深入理解浏览器的缓存机制
21.Redux 源码解读 —— 从源码开始学 Redux
22.前端进阶系列
23.前端面试指南
24.编写一个对象&&数组深copy函数方法(From 混沌传奇)
25.史上最全!图解浏览器的工作原理
26.js数组常用的方法
27.作用域
28.常见的数据结构与算法
29.V8引擎及垃圾回收机制
30.高级前端进阶