自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 208 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 593

原创 如何手写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 142

原创 前端中this指向问题

this的取值是在函数执行时决定的,而不是在函数定义时!!! // 第一种 : 作为普通函数 const fn(){ console.log(this) } fn() // 输出的是window // 第二种 : 通过call apply bind const fn(){ console.log(this) } fn.call({x : 100}) // .apply({x : 100}) fn() // 输出的是{x : 100} // 使用.bind会返回一个新的方法 const fn1 = fn

2020-08-19 11:16:12 484

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除