- 博客(4)
- 收藏
- 关注
原创 WEB前端基础面试题(1~6)
1.http和https,他们有什么区别答:http:超文本传输协议,数据明文传输,https基于http的协议,数据加密传输,相较于http协议更安全,但是需要花钱购买证书后方可使用2.tcp三次握手,一句话概括答:客户端和服务器均需要确认状态是可收发状态3.TCP和UDP的区别答:1.TCP连接面向连接,UDP面向数据,即无数据交互时,不用建立连接2.TCP仅一对一,UDP可一对多3.TCP更为可靠4.WebSocket的实现和应用答:WebSocket和XMLHtttpReques
2021-03-19 09:52:20 225 1
原创 手写深拷贝代码
// 手写深拷贝function deepCopy(obj){ // 判断当前传入的参数 为空 或 不是引用类型数据 直接返回 不用继续执行 if(obj == null || typeof obj != Object) { return obj } let result; // 当前传入的是数组 if(obj instanceof Array) result = [] // 当前传入的是对象 if(obj instanceof Object) result = {} result
2020-08-19 18:04:38 615
原创 如何手写bind函数
Function.prototype.bind = function(){ // 将传进来的参数类数组转化为数组,这样就可以用到Array中的方法了 const args = Array.prototype.slice.call(arguments) // 获取数组第一项,即传入的this,并剔除 // t保存的是第一项this的值 // args是剔除第一项之后的所有参数 const t= args.shift() // 这里的self(this)指的是实例化对象本身 // 根据函数原型链
2020-08-19 16:08:21 162
原创 前端中this指向问题
this的取值是在函数执行时决定的,而不是在函数定义时!!!// 第一种 : 作为普通函数const fn(){ console.log(this)}fn() // 输出的是window// 第二种 : 通过call apply bindconst fn(){ console.log(this)}fn.call({x : 100}) // .apply({x : 100})fn() // 输出的是{x : 100}// 使用.bind会返回一个新的方法const fn1 = fn
2020-08-19 11:16:12 518
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人