1.JS闭包
2.原型链
3.深浅拷贝
4.数据类型
5.null和underfined的区别
6.es6的新特性
7.http请求方式
8.从浏览器输入域名到页面显示的过程
9.事件循环
10.重排和重绘
11.typeof
12.行内标签和块内元素
13.slice和splice的区别
14.http常用的请求状态
15.数组的常用方法
1.js闭包
函数嵌套函数,内部就是闭包
闭包是指有权访问另外一个函数作用域中的变量的函数,使这个函数中的数据得以保留,不会因为函数的调用而被销毁
2.原型链
s对象内部包括一个原型对象prototype和_proto_,_proto_指向该对象构造函数的原型对象prototype
3.深浅拷贝
浅拷贝:用slice(截取)或concat(拼接)方法返回一个新数组时,如果是基本类型,就相互不影响,如果是对象或数组的话,改变拷贝与被拷贝两者之一的话,双方都会变化
深拷贝:JSON.parse(JSON.stringify(arr))
4.数据类型
基本数据类型:undefined、null、boolean、number、string
引用数据类型:object、array、date、function
5.undefined和null的区别
①数据类型不一样
②两者判断全等时不相等
③转化成数字的值不同
④null是空指针,undefined是定义类,没有赋值
6.es6的新特性
①const和let
②解构赋值
③set和map
④promise
7.http的请求方式
get、head、post、put、delete、connect、options、trace
8. 从浏览器输入域名到页面显示的过程
①浏览器根据请求的url交给DNS域名解析,找到真实的ip,向服务器发起请求
②服务器交给后台处理完成后返回数据,浏览器接受文件(html,js,css,图像等)
③浏览器去加载到的资源进行语法解析,建立相应的内部数据结构
④载入解析到的资源文件,渲染页面完成
9.事件循环
同步代码-》异步代码(微任务-》宏任务)
10.重排和重绘
重排:重新生成布局,重新排列元素
重绘:某些元素的外观被改变
11.typeof
返回的是操作数的类型
12.行内元素和块级元素
行内元素:a.span.img.input
块级元素:p.div.h1-h6.table
①块级元素:总是在新行上开始,行内元素:在同一行
②块级元素:可以包括其他块级元素和行内元素 行内元素:只能包括行内元素
13.slice和splice的区别
slice和splice都是对与数组的截取,但是slice不改变原数组,splice改变原数组
14.http常用请求状态
1xx 信息性状态码
2xx 成功状态码
3xx 重定向状态码
4xx 客户端错误状态码
5xx 服务器错误状态码
15.数组的常用方法、
push:在数组后面加
pop:在数组后面减
shift:删除数组的第一个
unshift:删除数组的最后一个
splice/slice:截取数组
concat:拼接数组
reverse:翻转数组