6,一句话的面试

1,export default:1个,不需要{ }
2,劫持Object.definedProperty(obj, 'txt', get, set)  keyup listener
3,#hash 知道浏览器动作,不重复加载页面
4,vuex:状态--store中,mutations可改状态,action封装逻辑如异步请求
5,node11之前,先宏后微。从node11开始后,宏微任务交替
6,cookie token: CSRF流量统计 refer防盗链
7,快速排序:‘abc’.split('').sort().map
8,a3 = [...a1, ...a2]
9,浏览器缓存:cache-control: max-age=300
协商缓存last-modified本地失效,服无新资源 reset时间
10,IIFE:隔离+只执行一次
11,array.shift 删除并返回第一个元素
12,array.some,遇到符合的,返回true
13,typeof []    "object"
14,new String("") instanceOf  String.    true
15, 非数字 + 运算。 只要有一个为数子,就按数字来
16,fn.bind().bind(a) 绑定的对象按第一次来,所以为window
17,优先级new > bind > obj.foo() > foo()
18,浅拷贝Object.assign({}, rawobj)    let b = {...rawobj}
19,深拷贝:对象中的obj享有相同的地址 Json.parse(Json.stringfy(obj))
20,https:
  1张三把自己公钥提交给公证处 2审核后公证处用私钥将提过过来的公钥生成证书 
  3张三发给客户 4客户的浏览器内置了公证处的公钥 
  5可以解开证明证书没问题,同时拿到了张三的公钥
  6用张三的公钥,将自己的私钥传过去
  7后面的传输,客户用张三公钥,张三用客户的私钥

21,websocket可主动推送,解决了http瓶颈
22,xss跨域攻击,被动点邮件,id=...
  sql同理--为注释符 path同理/usr/etc/...
23,polyfill:if(!obj.create){F.propertype=obj} 委托 对象关联
24,getpropertyof()  setpropertyof(obj)
25,method() context是隐式的this
26,匿名函数,无法用->自己,但是可以用arguments。callee
27,foo(i)      等价于    foo.call(foo.i)
28,new提前设置参数 叫做currying。foo.bind(null,2)   foo.apply(null, [1,2])
29,use.strict  window.undefined  this
30,“i'm a string” 引擎自动将其转成对象
31,42.3.toFixed(2) 引擎自动转成Number
32,xx.a    xx['a']可以是复杂key
33,obj.getownpropertyDescriptor(myobj, "a") 可写 可枚 可配
34,“a” in myobj     myobj.hasOwnProperty("a")
35,foreach全部
36,every(...)直到false
37,some(...)直到true
38,for in:key  for of:value var key in arr{arr[key]}   var value of arr
39,多态:副本,无关联,多继承
40,v-on @
41,data变化,尽量少动dom--虚拟dom state+temp=虚拟json树
  diff算法:同层比较。key唯一
40,响应式。只有data中的数据才会被代理,getter+setter劫持
41,computed。使用的时候才会触发
42,函数式组件:无this 无生命周期 无状态 无实例,
最大的用途就是用它做中间件来实现render方法。//my-components.js
export default {...}
43,v-if等14种指令  v-append-text自定义指令
44,provide inject类似事件冒泡
45,回调。控制翻转 Ioc AB主线程 C ajax
46,promise关注分离点的中立,三方协商机制。resolve(99999)决议值99999,reject('oops')拒绝值
  缺点:1错误中间被消化or忽略 2值单一拆包装包 3无法取消success reject 4因为信任所以西性能慢一些
47,js抢占式,yield合作式,控制权放弃。第二个next参数作为前一个yield的返回值
48,spread/rest 展开、收集。代替concact
49,结构化赋值:正赋,反赋
50,模板字面量`hello ${name}`      ${}
51,map: size() delete(x) clear has()
52,set: new Set(xx) -- 唯一值
53,[].values  keys entries()
53,const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
var ret1 = arr1.find((value, index, arr) => {
  return value > 4
}) // ret1: 5   找不到就是undefined
54,findIndex: 返回找到的index,找不到返回-1
55,ES6:object.is存在的原因:==自动转换数据类型,===的NaN不等于自身,以及+0等于-0
  所以ES6之前缺乏一种手段:只要两个值一样,就应该相等
  object.is({}, {})//false  注意:===也是false
  object.is(NaN, NaN)//true
  object.is(+0, -0)//false
56,Object.assign(target, raw1,raw2...)
57,defined(o, "e", {value:xxx})
58,Math.log2...
59,Number.parseInt(...)
60,Number.isNaN(...)
61,String.startWith("on", 5) endwith includes.
62,x.padStart(5, ab) ababx
63,obj.__proto__ = someObject
64,setPropertyOf(x)   getProperty()
65,[] definedProperty(obj.key, value)

66,BOM:Window Navigator History Location
  DOM: Document Element Attribute Event
  浏:BOM DOM ES
  W3C:BOM DOM
  Node:ES FS TCP stream buffer
  common.js:FS TCP stream buffer
67,c/c++内建模块 --  js核心模块  --  文件模块
  usr/local/bin/node    usr/local/lib/node_module
68,package.json  script -- preinstalled 钩子函数
69,npm init add user publish  /     npm ls 依赖树
70,阻塞I/O:磁盘寻道--读取--复制到内存--cpu等待i/o
71,V8,node的脚本引擎VM 64位 最大文件1.4G
72,node: process.memoryUsage()
73,闭包:外部作用域访问内部函数可作为参数or返回值
74,命中cache,节省IO开销
75,var tls = require('tls')

76,内联: