拼多多笔试

拼多多笔试

今天下午三点的笔试,前端方向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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值