记一次笔试题

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了记一次笔试题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

  今天参加了一场印象深刻的笔试,想把它记录下来,做一个知识补充作用。

题目1:Response Headers中有哪些字段?

响应(服务端-->客户端)Response
HTTP/1.1(协议版本)200(状态码)OK(描述信息)
Location:http://www.baidu.com(服务端需要客户端访问的页面路径)
Server:apache tomcat(服务端的Web服务端名)
Content-Encoding:gzip(服务端能够发送压缩编码类型)
Content-Length:80(服务端发送的压缩编码类型)
Content-Language:zh-cn(服务端发送的语言类型)
Content-Type:text/html;charset=GB2312(服务端发送的类型及采用的编码方式)
Last-Modified:Tue,11 Jul 2000 18:23:51 GMT(服务端对该资源最后修改的时间)
Refresh:1;url=http://www.it315.org(服务端要求客户端1秒钟后,刷新,然后访问指定的页面路径)
Content-Disposition:attachment;filename=aaa.zip(服务端要求客户端以下载文件的方式打开该文件)
Transfer-Encoding:chunked(分块传递数据到客户端)
Set-Cookie:SS=Q0=5Lb_nQ;path=/search(服务端发送到客户端的暂存数据)
Expires:-1(服务端禁止客户端缓存页面数据)
Cache-Control:no-cache(服务端禁止客户端缓存页面数据)
Pragma:no-cache(服务端禁止客户端缓存页面数据)
Connection:close(1.0)/(1.1)Keep-Alive(维护客户端和服务端的连接关系)

Date:Tue,11 Jul 2000 18:23:51 GMT(服务端响应客户端的时间)

请求(服务端-->客户端)Request
GET(请求方式)/newcoder/hello.html(请求的目标资源)HTTP/1.1(请求采用的协议和版本号)
Accept:*/ *(客户端能接收的资源类型)
Accept-Language:en-us(客户端接收的语言类型)
Connection:Keep-Alive(维护客户端和服务端的连接关系)
Host:localhost:8080(连接目标主机和端口号)
Referer:http://localhost/links.asp(告诉服务器我来自哪里)
User-Agent:Mozilla/4.0(客户端版本号的名字)
Accept-Encoding:gzip,deflate(客户端能接收的压缩数据的类型)
If-Modifie-Since:Tue,11 Jul 2000 18:23:51 GMT(缓存时间)
Cookie(客户端暂存服务端的信息)

Date:Tue,11 Jul 2000 18:23:51 GMT(客户端请求服务端的时间)

题目2: 下列代码输出的是什么

        console.LOG((function(a){}).length);//1
        console.log((function(a = 5){}).length);//0
        console.log((function(a,b = 5,c){}).length);//1
        console.log((function(a,b = 5,c = 5){}).length);//1
        console.log((function(a,b,c = 5){}).length);//2

解答:该题考察的是es6中函数长度的问题,具体的解析可以参考下图(图片来自阮一峰大神的es6入门):

记一次笔试题

题目3:使用js将url中的信息转换成json对象

        function splitUrl(url){
            var arr = url.split('?')[1].split('&');
            var json = {};
            var key,value = null;
            for(var i=0;i<arr.length;i++){
                key = arr[i].split('=')[0];
                value = arr[i].split('=')[1];
                json[`"${key}"`] = value;
            }
            return json;
        }
        
        var result = splitUrl('www.baidu.com?a=1&b=2&c=5');
        console.log(result);

题目4:下列哪一个语句会产生运行错误?

  1. var _变量 = NaN;
  2. var obj = [];
  3. var obj = //;
  4. var obj = {};

答:这道题只在1和3中纠结,1中的变量名其实是合法的,纠结的地方在于能否直接赋值为NaN,其实这个是可以的,使用typeof NaN,会发现返回的是number,所以也是可以赋值给该变量的;而3的特殊之处在于//其实是js中的注释语句,所以直接将其赋值给变量会报错。

题目5:以下两个变量a和b,请问a+b的结果是NaN有哪些?

  1. var a=undefined;b=NaN;
  2. var a='123';b=NaN;
  3. var a=undefined,b=NaN;
  4. var a=NaN,b='undefined';

答:

记一次笔试题


记一次笔试题


记一次笔试题


记一次笔试题

题目6:请写出以下代码的输出结果

var a = 0,b = 0;
        function add(a){
            add = function(b){
                console.log(++a + b++);
            }
            console.log(a++);
        }

        add(1);//1
        add(2);//5

分析:首先,第一次运行的是外面的函数,a=1进去之后,执行a++,由于a++是先运算再赋值,所以输出的是1;第二次运行的是内部函数,此时a的值为2,传进去b的值为2,++a == 3,b++ == 2,所以最后输出的是5。

题目7:请写出下面代码执行的结果

        var c = {
            name:'Json',
            sayName:function(){
                console.log(this.name);
            }
        };
        var name = 'Aaron';
        function sayName(){
            var sss = c.sayName;
            sss();
            c.sayName();
            (c.sayName)();
            (b=c.sayName)();
        }
        
        sayName();

结果:

记一次笔试题


分析:
第一个是sss(),实际上this是指向全局变量的,也就是说输出的应该是全局的name,即Aaron;第二个this是指向c的,那么输出的就是c中的name属性值;第三个this指向c,和第二个是一样的;第四个this指向全局变量。

脚本宝典总结

以上是脚本宝典为你收集整理的记一次笔试题全部内容,希望文章能够帮你解决记一次笔试题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。