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

本文精选了一系列前端领域的面试题目,涵盖了浏览器ResponseHeaders字段、JavaScript基础知识、DOM操作、CSS样式解析、跨域问题、链接和导入样式表的区别等关键知识点,旨在帮助读者深入理解前端技术细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、选择题(含多选)

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.请列举你所熟悉的性能优化方法。

 

转载于:https://www.cnblogs.com/xiBfa/p/9942175.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值