天水市住房和城乡建设局网站,四合一做网站,重庆市建设安全信息网,wordpress像微博1.js的数据类型
分为基本数据类型和引用数据类型。 基本数据类型
ES5的5种#xff1a;Null#xff0c;undefined#xff0c;Boolean#xff0c;Number#xff0c;String#xff0c; ES6新增#xff1a;Symbol表示独一无二的值 ES10新增#xff1a;BigInt 表示任意大的…1.js的数据类型
分为基本数据类型和引用数据类型。 基本数据类型
ES5的5种NullundefinedBooleanNumberString ES6新增Symbol表示独一无二的值 ES10新增BigInt 表示任意大的整数
一种引用数据类型本质上是由一组无序的键值对组成
引用数据类型: Object。包含Object、Array、 function、Date、RegExp。 JavaScript不支持创建任何自定义类型的数据也就是说JavaScript中所有值的类型都是上面8中之一。
2.null 和 undefined 的区别
相同
在 if 语句中 null 和 undefined 都会转为false两者用相等运算符比较也是相等
首先 Undefined 和 Null 都是基本数据类型这两个基本数据类型分别都只有一个值就是 undefined 和 null。
不同
undefined 代表的含义是未定义null 代表的含义是空对象。
一般变量声明了但还没有定义的时候会返回 undefined或者定义了形参没有传实参显示undefined或者对象属性名不存在时函数没有写返回值即没有写return拿到的是undefined
null 主要用于赋值给一些可能会返回对象的变量作为初始化。也作为对象原型链的终点。
3.什么是原型、原型链
原型每个函数在被创建的时候就会有一个 prototype属性这个属性是一个指针指向一个对象而这个对象就是这个函数的原型对象也就是原型它是用来共享所有实例的属性和方法的地方所以原型其实就是函数的伴生体与生俱来的
var a [1, 2, 3, 4, 5];
a.__proto__ Array.prototype; // true
原型链原型链简单理解就是原型组成的链。当访问一个对象的某个属性时会先在这个对象本身属性上查找如果没有找到则会去它的__proto__隐式原型上查找即它的构造函数的prototype如果还没有找到就会再在构造函数的prototype的__proto__中查找这样一层一层向上查找就会形成一个链式结构我们称为原型链。
4.宏任务微任务分类及执行顺序
js 是一种单线程语言简单的说就是只有一条通道那么在任务多的情况下就会出现拥挤的情况这种情况下就产生了 ‘多线程’ 但是这种“多线程”是通过单线程模仿的也就是假的。那么就产生了同步任务和异步任务。宏任务与微任务表示异步任务的两种分类
1、宏任务 setTimeoout、setInterval 2、微任务 process.nextTick
顺序1、存在微任务的话就执行所有的微任务 2、微任务都执行完之后执行下一个宏任务 3、但不是说所有宏任务执行完毕之后才执行微任务的。而是当前的宏任务执行完毕然后执行所有的微任务
执行顺序先执行同步代码遇到异步宏任务则将异步宏任务放入宏任务队列中遇到异步微任务则将异步微任务放入微任务队列中当所有同步代码执行完毕后再将异步微任务从队列中调入主线程执行微任务执行完毕后再将异步宏任务从队列中调入主线程执行一直循环直至所有任务执行完毕。 5.什么是token
token的意思是“令牌”是服务端生成的一串字符串作为客户端进行请求的一个标识。当用户第一次登录后服务器生成一个token并将此token返回给客户端以后客户端只需带上这个token前来请求数据即可无需再次带上用户名和密码。轻便,在跨域资源共享时非常方便安全能防止csrf。
CSRF攻击攻击者盗用了你的身份以你的名义发送恶意请求。CSRF能够做的事情包括以你名义发送邮件发消息盗取你的账号甚至于购买商品虚拟货币转账…造成的问题包括个人隐私泄露以及财产安全。
6.深拷贝和浅拷贝的区别怎样实现浅拷贝
浅拷贝 创建一个新对象如果属性是基本类型拷贝的就是基本类型的值如果属性是引用类型拷贝的就是内存地址 。这个内存地址指向同一个堆内存如果其中一个对象改变了堆内存存放的值那么所有的对象都会受到影响。
深拷贝 创建一个新对象如果属性是基本类型拷贝的就是基本类型的值如果属性是引用类型则从堆内存中开辟一个新的区域存放该引用类型指向的堆内存中的值,且修改新对象的值不会影响原对象。
浅拷贝实现
const obj1 {name: icy,age: 20,hobbies: [eat, sleep, game],};const obj2 { ...obj1 };//修改堆内存中的值obj2.hobbies[0] play;console.log(修改后obj2, obj2);console.log(修改后obj1, obj1);obj1和obj2都受到了影响验证了浅拷贝。
7.tcp和udp的区别
TCP 传输控制协议TCPTransmission Control Protocol是一种面向连接的、可靠的、基于字节流的传输层通信协议由IETF的RFC 793 定义。
UDP Internet 协议集支持一个无连接的传输协议该协议称为用户数据报协议UDPUser Datagram Protocol。UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。RFC 768 描述了 UDP。
区别
TCP面向连接通过三次握手建立连接四次挥手接除连接;UDP是无连接的即发送数据之前不需要建立连接这种方式为UDP带来了高效的传输效率但也导致无法确保数据的发送成功。TCP是可靠的通信方式。通过TCP连接传送的数据TCP通过超时重传、 数据校验等方式来确保数据无差错不丢失不重复且按序到达而UDP由于无需连接的原因将会以最大速度进行传输但不保证可靠交付也就是会出现丢失、重复等等问题。TCP面向字节流实际上是TCP把数据看成一连串无结构的字节流由于连接的问题当网络出现波动时连接可能出现响应问题UDP是面向报文的UDP没有拥塞控制因此网络出现拥塞不会使源主机的发送速率降低。每一条TCP连接只能是点到点的而UDP不建立连接所以可以支持一对一一对多多对一和多对多的交互通信也就是可以同时接受多个人的包。TCP需要建立连接首部开销20字节相比8个字节的UDP显得比较大。TCP的逻辑通信信道是全双工的可靠信道UDP则是不可靠信道。
TCP三次握手和四次挥手
TCP三次握手三次握手是TCP用来确保连接可靠建立的方式
第一次握手 A给B发短信说“B你现在有空吗” 第二次握手 B此时收到了A的信息然后对A说 “ 我有空你呢有空吗 ” 第三次握手 A此时收到了B的确认信息然后说“我也有空那我跟你说个事。” 在三次握手之后A和B都能确定这么一件事 双方的通信可以流畅的进行。 这样双方就可以开始进行正常的对话了。
2.TCP四次挥手四次挥手是TCP用来确保连接可靠关闭的方式
第一次挥手 A给B发短信说“B我要准备吃饭了”
第二次挥手 B此时收到了A的信息然后先对A说 “ 我知道了。”
第三次挥手 B对A说到 “ 我也要准备吃饭了。”然后放下了手机
第四次挥手 A此时收到了B的确认信息然后想B发一个包说“好的我知道了。”这时才放下手机去吃饭
在四次挥手之后A和B都能确定这么一件事 双方的通信可以正常关闭。 这样双方就可以确定对方已经完全知晓自己确认要关闭连接。
8.http和https的区别
1、HTTPS 协议需要到 CA Certificate Authority证书颁发机构申请证书一般免费证书较少因而需要一定费用。(以前的网易官网是http而网易邮箱是 https 。)
2、HTTP 是超文本传输协议信息是明文传输HTTPS 则是具有安全性的 SSL 加密传输协议。
3、HTTP 和 HTTPS 使用的是完全不同的连接方式用的端口也不一样前者是80后者是443。
4、HTTP 的连接很简单是无状态的。HTTPS 协议是由 SSLHTTP 协议构建的可进行加密传输、身份认证的网络协议比 HTTP 协议安全。(无状态的意思是其数据包的发送、传输和接收都是相互独立的。无连接的意思是指通信双方都不长久的维持对方的任何信息。)
9.浏览器地址输入页面回车后做了什么事
1: URL解析
2: DNS查询
3: TCP 连接
4: 处理请求
5: 接受响应
6: 渲染页面
10.Vue2和vue3的区别