面经练习(五)
1. 一道有关this的输出题
var a = {
name: 'bytedance',
func: function() {
console.log(this.name);
}
};
var fun1 = a.func;
fun1();//输出 undefined
var a = {
name: 'bytedance',
func: function() {
console.log(this.name);
}
};
a.func()//'bytedance'
第二个输出’bytedance’,不是很意外了 this指向a
但是第一个输出要特别注意,考隐形绑定丢失,此时this已经指向了window,相当于把a里面的func函数,单独拎出来了
2. 封装个可以检测所有数据类型的函数
function testType(type) {
if (typeof type != 'object') {
return typeof type;
}
if (type === null) return null;
let str = Object.prototype.toString.call(type);
return str.slice(8, str.length - 1);
}
console.log(testType([]));
3.display inline、inline-block、block有什么区别
-
行内元素 inline
①设置宽高无效
②对margin仅左右方向有效,上下无效;padding上下左右都有效
③不会自动换行 -
块级元素 block
①能够识别宽高
②margin、padding上下左右均有效
③可以自动换行 -
行内块级元素
①不自动换行
②能够识别宽高
③margin、padding上下左右均有效
4.前端加密方式
base64加密、md5加密、sha1加密
5.http请求报文,响应报文
6.怎么获取浏览器的宽高
7.如何实现input框显示,但是无法输入
preventDefault,阻止默认行为
8.ES6和node的模块化
9.webpack常用的loader
10.TCP和HTTP的区别
11. TCP和UDP的区别
1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP面向字节流提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP面向报文尽最大努力交付,即不保证可靠交付
Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
3、UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP对系统资源要求较多,UDP对系统资源要求较少。