上海汉得公司2018年秋招前端笔试题


一、选择题(含多选)

1.以下哪一项不属于浏览器Response Headers字段(B)

A.Contection   B.Referer   C.Content-Type   D.Server

2.在javascript中,以下返回true的选项是(ABCD)

A.typeof({})==='object'   B.typeof('1234'-0)==='number'   C.typeof(null)==='object'   D.typeof(undefined)==='undefined'

3.下面哪一个不是Javascript的保留字(E)

A.goto   B.abstract   C.implements   D.super   E.array

4.下列代码:

console.log((function(a) {} ).length);

console.log((function(a=5) {} ).length);

console.log((function(a,b=5,c) {} ).length);

console.log((function(a,b=5,c=5) {} ).length);

输出分别为(D)

A.0  1  1  2   B.1  0  2  1   C.0  1  1  0   D.1  0  1  1

5.<div style="color:red !important; text-color:blue">

     <span style="color:green;text-color:black !important;">Hello

     </span>

</div>

页面中"hello"的颜色是(C)

A.red   B.blue   C.green   D.black

6.String str = new String("xyz");"xyz"在内存中是怎么分配的(B D)

A.寄存器   B.堆   C.栈   D.字符串常量区

//老陈醋

7.现有<div id="myId"></div>想通过XMLHTTPRequest 更新这个元素中的内容,下面哪种做法正确(C)

A.var myId=document.getElementById("myId");myId.innerHTML=req.statusCode;

B.var myId=document.getElementById("myId");myId.setStatus (req.statusCode);

C.var myId=document.getElementById("myId");myId.innerHTML=req.status;

D.var myId=document.getElementById("myId");myId.status=req.status;

8.以下有关Javascript中call和apply的描述,错误的是(D)

A.apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入。

B.call传入的是直接的参数列表。call方法可将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。

C.call与apply都属于Function.prototype的一个方法,所以每个function的实例都有call、apply属性。

D.两者传递的参数不同,call函数第一个参数都是要传入给当前对象的对象,apply不是。

9.关于跨域问题下面说法正确的是(A)

A.通过iframe设置document.domain可以实现跨域

B.可以利用flash的http请求,来处理跨域问题

C.通过jsonp方式可以发出post请求,请求其他域名下的接口

D.一般情况下,m.toutiao.com可以ajax请求www.toutiao.com域名下的接口并获得响应

10.下面有关CSS中link和@import的区别,描述错误的是()

A.link在支持CSS浏览器上都支持,而@import只在5.0以上的版本有效

B.当使用javascript控制DOM去改变样式的时候,只能使用@import方式

C.当一个页面被加载的时候,link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载

D.link属于XHTML标签,而@import完全是CSS提供的一种方式

11.Javascript中,以下哪条语句一定会产生运行错误(C)

A.var _变量=NaN;   B.var obj = [];   C.var obj = //;   D.var obj = {};

12.以下两个变量a和b,a+b的哪个结果是NaN()

A.var a = undefined,b=NaN

B.var a = '123',b=NaN

C.var a = undefined,b=NaN

D.var a = NaN,b='undefined'

13.var a = 10;b = 20;c =4; ++b+c+a++以下哪个结果是正确的(B)

A.34   B.35   C.36   D.37

14.以下哪个单词不属于javascript保留字(B)

A.with   B.parent   C.class   D.void

15.请选择结果为真的表达式()

A.null   instanceof   Object   B.null === undefined   C.null == undefined   D.NaN == NaN

二、运行结果题

1.请写出下列代码的输出结果:

var   a  = 0, b = 0;

function  add(a){

     add = function(b){

           alert(++a+b++);

    }

     alert(a++);

}

add(1);

add(2);

执行结果:1,5

add(1);

add(2);

add(3); 结果:1,5,7

2.请写出name打印顺序:

var a = {

     name:"Json",

     sayName:function(){

          console.log(this.name);

      }

};

var name  = "Aaron";

function sayName(){

      var  sss  = a.sayName;

      sss();

      a.sayName();

     (a.sayName)();

     (b=a.sayName)();

}

sayName();

4.下列正则表达式输出结果是多少?

var  reg  =  /^[a-zA-Z_][a-zA-Z0-9_] {5,20}/,

       name1 = 'tanbayi',

       name2 = '0tanbayi',

       name3 = '你好 tanbayi',

       name4 = 'hi',

alert(reg.test(name1));

 alert(reg.test(name2));

alert(reg.test(name3));

alert(reg.test(name4));

三、简答题

        1.js面向对象有几种方式并用js写出。

        2.请写出你所知道的浏览器兼容问题,以及对应的解决办法(可包含CSS和JS)

        3.编写一段JS程序提取URL中的各个GET参数(参数名和参数个数不确定),将其按key-value形式返回一个json结构中,如{a:'1',b:'2',c:,d:'xxx',e:undefined}

        4.请列举你所熟悉的性能优化方法。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM