查漏补缺汇总

93 阅读3分钟
  • 精度丢失:请看本主页另一篇文章juejin.cn/post/693318…

  • Js数据类型:

  • 基本类型

  • Symbol(ES6新增):

  • BigInt(ES2020):

  •  引用类型:object

  • 浅克隆、深克隆:

  • 浅克隆:对于基本类型直接就是赋值,对于引用类型是赋值的引用。

  • 深克隆:利用递归,实现将一个引用类型完全复制,不同的内存地址。

  • 事件流:

  • 父子元素的事件流关系:

  • 当容器元素及嵌套元素,即在捕获阶段又在冒泡阶段调用事件处理程序时:事件按DOM事件流的顺序执行事件处理程序:

  • 且当事件处于目标阶段时,事件调用顺序决定于绑定事件的书写顺序。

  • 事件绑定函数:

  • DOM0级是onclick之类的。

  • DOM2级是addEventListener()之类的。

  • IE是 attchEvent()之类的。事件的作用域为全局的,this是window。绑定多个事件,以栈的形式存放。

  • 事件实现方式:

  • 发布订阅模式:

  • 先发布。

  • 后触发。

  • DOM事件:

  • DOM0

  • DOM2

  • DOM3:事件类型出现,UI事件、焦点事件等。

  • new一个函数 发生了什么:

  • 如何产生闭包:

  • 返回函数。

  • 函数当做参数传递。

  • 闭包应用场景:

  • 柯里化bind

  • 模块。

  • NAN表示非数字,类型是Number。

  • JS隐式转换、显示转换:

  • bind、call、apply:

  • setTimeout问题:

  • 手写promise:

  • js脚本加载:

  • async:

  • defer:

  • 判断一个对象是空对象:Object.key(myobject).length===0.

  • onload是等所有加载完毕再执行,包括外部引入的JS文件。

  • JS的特点:

  • 动态语言。

  • this、原型、原型链。

  • 分为语言部分和宿主环境部分。

  • 宿主环境部分分为:

  • 浏览器环境:BOM和DOM

  • Node环境

  • 2015是第一版ES6.

  • 数组原型链上面的方法:valueOf、toString、isArray.

  • 函数中的arguments是伪数组类型,鸭子类型;转换为真数组,见文章:juejin.cn/post/693308…

  • TypeScirpt:

  • PWA、serviceWorker:

  • this绑定四大规则:

  • 箭头函数补充:

  • 事件循环机制:

  • instance

  • 五点布局

  • map和object的区别

  • equestAnimationFrame,讲讲和setInterval的区别:

  • canvas吗,如果要实现一个一笔一画写汉字的效果:

  • HTML中h标签有多少个,表示段落的标签是哪个?

  • 表示列表的标签有多少个?

  • 表示引用的标签是什么?

  • 对语义化的看法?

  • 大小单位里面有一个单位是相对字体大小的,是什么?

  • 具体看css单位文章:juejin.cn/post/693428…

  • 控制字体换行,大小写转换的属性?

  • 怎么设置一个圆形?如果设置的值超过50%会发生什么?

  • 喜欢JS的什么地方?

  • HTTP2.0了解吗,讲讲和HTTP1.1的区别:

  • async-await改写一个回调地狱:

  • localStorage:

  • http:状态码

  • 跨域的方法:

  • AMD与CMD和CommonJS:

  • 网络安全(XSS和CSRF)及如何防范:

  • XSS:跨域攻击,通过恶意脚本(HTML,等进行数据跨域发送。)

  • 同源:如果两个url的协议、域名、端口号完全一致,那么这两个url是同源的。不同源的页面之间不准相互访问数据,这是浏览器为保护用户隐私设置的安全策略。

  • 浏览器规定如果JS运行在源A里,那么只能获取源A的数据,不能获取源B的数据,也就是不允许跨域。所以,跨域就是允许不同源的页面之间相互访问数据。

  • 跨站脚本攻击XSScross site script)。

  • 主要防御手段:输入输出过滤、长度限制、cookie设置http-only

  • 跨站请求伪造CSRFcross site request forgery)。

  • img等标签跨域GET请求、POST自动表单提交。

  • 主要防御手段:尽可能使用POST方式、验证码、验证 Referer、CSRF Token。

  • 常见的伪类和伪元素:

  • 选择器的效率问题:

  • 移动端适配:

  • Vue和React的vdom算法对比:

  • 持续集成的问题:

  • VueRouter两种模式的原理:

  • Webpack的loader和plugins原理:

  • .JSONP是怎么解决跨域的:

  • cookie是干什么的:

  •  jwt:

  • travis.yml的配置项:

  •  canvas: