面试准备——js部分(一)

作者 : 开心源码 本文共1486个字,预计阅读时间需要4分钟 发布时间: 2022-05-11 共103人阅读

内容导读

(1)函数体内的this对象,就是定义时所在的对象,而不是用时所在的对象。(2)不能当作构造函数,也就是说,不能用new命令,否则会抛出一个错误。(3)不能用arguments对象,该对象在函数体内不存在。(4)不能用yield命令,因而箭头函数不可以使用作 Generator 函数。上面四点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。

1、写一个可以遍历对象和数组的通使用forEach函数?

pre class=”brush:js;toolbar:false”> var key; if(obj instanceof Array){ obj.forEach(function(item,index){ fn(index,item) }) }else{ for(key in obj){ fn(key,obj[key]) } }}

2、JavaScript 中如何获取当前的时间戳

pre class=”brush:js;toolbar:false”>Date.now()new Date().getTime()+new Date()

3、手写ajax

pre class=”brush:js;toolbar:false”>var xhr=new XMLHttpRequest()xhr.open('GET','/api',false);xhr.onreadtstatechange = function(){ if(xhr.readyState==4 && xhr.status==200){ conse.log(xhr.responseText) }}xhr.send(null);

4、跨域

pre class=”brush:js;toolbar:false”>起因:同源策略,cookie、localstorage、indexdb无法读取、dom无法操作、ajax无法发送前后台通信方式:ajax、websocket、CORS处理:JSONP:网页动态插入元素由它向跨源网址发出请求,服务器收到请求后,将数据放在一个指定名字的回调函数里传回来。只可以发get请求window.postMessage:window对象新添加了一个方法,允许跨窗口通信CORS:跨源资源共享。服务器配置websocket:是HTML5提供的一种在单个 TCP 连接上进行全双工通讯的协议。Nginx反向代理商

箭头函数有几个用注意点。

(1)函数体内的this对象,就是定义时所在的对象,而不是用时所在的对象。

(2)不能当作构造函数,也就是说,不能用new命令,否则会抛出一个错误。

(3)不能用arguments对象,该对象在函数体内不存在。假如要使用,能使用 rest 参数代替。

(4)不能用yield命令,因而箭头函数不可以使用作 Generator 函数。

上面四点中,第一点尤其值得注意。this对象的指向是可变的,但是在箭头函数中,它是固定的。

pre class=”brush:js;toolbar:false”>1、function foo() { setTimeout(() => { console.log('id:', this.id); }, 100);}var id = 21;foo.call({ id: 42 });// id: 422、function foo() { setTimeout(function() { console.log('id:', this.id); }, 100);}var id = 21;foo.call({ id: 42 });// id: 21

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 面试准备——js部分(一)

发表回复