博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最近跳槽面试所遇问题
阅读量:6830 次
发布时间:2019-06-26

本文共 2835 字,大约阅读时间需要 9 分钟。

第一次面试:

1、$.ajax如何设置请求头

2、对JS面向对象编程的理解

3、H5新特性

4、CSS3新特性

5、字符串操作函数

6、如何处理跨域问题

7、对开发模块化的理解

第二次面试:

1、$.ajax工作原理,以及原生的写法

   原理:通过XMLHttpRequest对象向服务器发送异步请求,从服务器获得数据,然后使用js操作DOM更新数据。通过ajax可以及时的向服务器提出请求和处理响应,实现异步加载,不阻塞用户,达到无刷新更新部分页面的效果。

  

  写法:大致为5个步骤:

  ① 创建一个  XMLHttpRequest  对象 

  低版本的 IE 浏览器 (IE7以下)没有XMLHttpRequest 对象,使用 ActiveXObject 对象,

  var xhr =new ActiveXObject("Microsoft.XMLHTTP")

  兼容写法:

var xhr;if (window.XMLHttpRequest){    // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码    xhr = new XMLHttpRequest();}else{    // 浏览器是IE7一下版本,执行代码    xhr = new ActiveXObject("Microsoft.XMLHTTP");}

 

  ② 向服务器URL发出请求,传递参数 

  

xhr.open("post", "http://www.weifen168.com//api/formTemplateOrder/createFormTemplateOrder");xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");//注意只有post请求才设置header,get不用xhr.send("templateId="+mudoulMgs+"&name="+name+"&mobile="+phone+"&email="+Eml+"&qq="+QChat+"");//需要传递的参数

注意添加请求头 的规则

xhr.setRequestHeader(header,value);// header: 规定头的名称;// value: 规定头的值;

  ③监听事件变化  onreadystatechange 

xhr.onreadystatechange = function () {  if (xhr.readyState==4&&xhr.status==200) {    console.log(xhr.responseText)  }

④ 获取数据

⑤ 页面渲染

ge请求

xmlHttp.open("GET", "url?参数=val & ...", true);xmlHttp.onreadystatechange = callback;xmlHttp.send(null);

post请求

                        var xhr = new XMLHttpRequest();                                        xhr.withCredentials = true;                                        xhr.open("post", "http://www.weifen168.com//api/formTemplateOrder/createFormTemplateOrder");                                        xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");                                        xhr.send("templateId="+mudoulMgs+"&name="+name+"&mobile="+phone+"&email="+Eml+"&qq="+QChat+"");                                        xhr.onreadystatechange = function () {                                            if (xhr.readyState==4&&xhr.status==200) {                                                console.log(xhr.responseText)                                            }                                        }

 

 

2、JS事件冒泡和事件捕获

答:事件冒泡:顾名思义,由下往上的逐级的事件传递

  事件捕获:由上往下的逐级事件传递;

  阻止事件冒泡和捕获方法:w3c的方法是  e.stopPropagation(),IE则是使用  e.cancelBubble = true

  

function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation )     //因此它支持W3C的stopPropagation()方法     e.stopPropagation(); else     //否则,我们需要使用IE的方式来取消事件冒泡     window.event.cancelBubble = true; }

 注意!!!阻止事件冒泡和阻止默认事件  e.preventDefault() 很容易混淆 

 preventDefault它是事件对象(Event)的一个方法,作用是取消一个目标元素的默认行为;

  

//假定有链接caibaojian.comvar a = document.getElementById("testA");a.onclick =function(e){if(e.preventDefault){e.preventDefault();}else{window.event.returnValue == false;}}

 

3、vue-cli手脚架的把vue解析为JS的解析原理

4、bom操作

5、请求状态码,以及在IE和其他浏览器的区别

6、VUE函数的生命周期

转载于:https://www.cnblogs.com/xxflz/p/10251717.html

你可能感兴趣的文章
常见的WebPack文件、什么是WebPack
查看>>
DVD刻录机的使用与维护
查看>>
构建Postfix邮件系统(二) -- SMTP认证发信+SquirrelMail
查看>>
Oracle 使用concat函数需要注意的地方
查看>>
条件测试
查看>>
linux磁盘管理
查看>>
线上部署链路聚合bonding
查看>>
学LIUNX的常用英语补习
查看>>
单点登录CAS解决方案<一>:纯净CAS-Server
查看>>
Mysql 数据库表区分大小写问题
查看>>
什么是openstack的metadata
查看>>
原创:SecureCRT连接linux终端颜色配置
查看>>
java关键字--this
查看>>
SDL_AudioSpec结构体分析
查看>>
Autoconf和Automake,自动生成Makefile
查看>>
观影《寒战》
查看>>
create instance 生成创建虚拟机从nova到调用libvirt流程(pycharm debug):
查看>>
今天的学习
查看>>
我的友情链接
查看>>
[Unity] 文件夹图像资源的读取
查看>>