拼多多笔试

来源:互联网 发布:淘宝达人帖子写手 编辑:程序博客网 时间:2024/04/28 21:50

拼多多笔试

今天下午三点的笔试,前端方向70分钟,在这次的笔试中,也发现了一些自己以前没注意到的问题,决定把这些东西整理一下,注:以下内容完全来自于自己的回忆,如果有差错,还望指正

“+”的问题

第一个选择题是一个和“+”有关系的题目,首先,在JS中“+”是存在二义性的,就是它可以表示字符串的连接,也可以表示加号,进行以下尝试

1 + ‘3’ + ‘4’
“134”
1 + +’3’ + ‘4’
“44”
‘a’ + ‘b’ + 8
“ab8”
‘a’ - ‘b’ + 8
NaN
‘a’ - ‘b’ + ‘2’
“NaN2”

鼠标点击 input 元素后默认触发的事件执行顺序

之前没有做过这方面执行顺序的探究,现在来做一个测试,下面是测试代码

<input type="text" name="" id="in"><script type="text/javascript">  var oIn = document.getElementById('in');  oIn.onmousedown = function() {    console.log('mousedown');  }  oIn.onmouseup = function() {    console.log('mouseup');  }   oIn.onfocus = function() {    console.log('focus');  }   oIn.onclick = function() {    console.log('click');  }</script>

输出结果如下:

mousedown

focus

mouseup

click

所以执行顺序是,鼠标按下,获得焦点,鼠标弹起,获得点击

注意:在 IE 浏览器中,在 MouseDown 事件的处理函数中,取消浏览器默认行为执行后,如果点击的是可获得焦点的元素 (如 INPUT) ,那么他依然会获得焦点并触发 Focus 事件。

而在非 IE 浏览器中,此情况下元素无法获得焦点,也不会触发 Focus 事件

参考这里

阻止a标签的跳转

<a href="https://www.baidu.com/" id="oa">点击</a><script type="text/javascript">  var oA = document.getElementById('oa');  oA.onclick = function(event) {    console.log('click');    if(event.preventDefault) {      event.preventDefault();     }else {      event.returnVale = false;    }             }</script>

刚才测试了onmousedown和onmouseup,并不能阻止跳转

还有这样的方法

<a href="javascript:void(0);" >点击</a><a href="javascript:;" >点击</a>

关于this

attachEvent中的this指向的是window,而不是调用它的DOM对象

elem.attachEvent("on"+type,function(){  fn.apply(elem,arguments);}); 

使用new的时候,构造函数的this指向创建的实例对象

状态码

400 Bad Request客户端请求语法错误,不能被服务器所理解

403 Forbidden 服务器收到请求,但是拒绝提供服务

401 未授权,一般来说该错误消息表明你首先需要登录(输入有效的用户名和密码)。如果你不输入这些信息,就会有401错误,这意味着验证信息出错,服务器无法识别你的身份

HTTP 2.0

HTTP 2.0最大的特点: 不会改动HTTP 的语义,HTTP 方法、状态码、URI 及首部字段,等等这些核心概念上一如往常,却能致力于突破上一代标准的性能限制,改进传输性能,实现低延迟和高吞吐量。而之所以叫2.0,是在于新增的二进制分帧层

HTTP2.0的优势:

  • 二进制分帧,应用层(HTTP2.0)和传输层(TCP or UDP)之间增加一个二进制分帧层,采用二进制传输数据,而非HTTP1.1的文本格式,二进制格式在协议的解析和优化扩展带来更多的优势和可能
  • 对消息头采用HPACK进行压缩传输,能够节省消息头占用的网络的流量,而HTTP1.1每次请求,都会携带大量冗余头信息,浪费了很多带宽资源
  • 多路复用,就是多个请求都是通过一个TCP连接连接并发完成,还支持优先级和流量控制
  • 服务器推送,服务器能够更快的把资源推送给客户端,例如主动推送JS和CSS文件,而不需要客户端解析HTML再发送这些请求

代码输出

console.log(a);a = 3;

error

a是一个全局变量,但是如果输出,window.a就是undefined

原创粉丝点击