盛大游戏2017校招前端工程师笔试试卷

 

1、js数组的方法中,哪些方法不能改变自身数组?()
正确答案: D
pop
splice
sort
concat
2、哪个HTML5内建对象用于在画布上绘制?()
正确答案: B
getContent
getContext
getGraphics
getCanvas
3、for(var i=0;i<5;++i){
    setTimeout(function(){
        console.log(i+ ' ');
    },100);
}
以上代码执行的结果是()。
正确答案: A
5 5 5 5 5
0 0 0 0 0
0 1 2 3 4
1 2 3 4 5
4、下列js延迟加载的方式中,只有IE浏览器支持的是哪一种方式?()
正确答案: B
async
defer
动态创建DOM方式
按需异步载入
5、下列定义的 css 中,哪个权重是最低的?()
正确答案: C
#game div.name
#game .name
#game div
#game .name span
6、关于 jsonp 的优缺点的表述中,哪一项是错误的?()
正确答案: C
它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制
兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持
只支持GET、POST两种HTTP请求,不支持其它类型的HTTP请求
只支持跨域HTTP请求,不能解决不同域的两个页面之间如何进行JavaScript调用的问题
解:【掌握】
JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。
JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行调用的问题。
Jsonp原理: 
1、首先在客户端注册一个callback,然后把callback的名字传给服务器。此时,服务器先生成 json数据。然后以js语法的方式,生成一个function.
2、最后将json数据直接以形参的方式,放置到function中,这样就生成了一段js 语法的文档,返回给客户端。
3、客户端浏览器,解析script标签,并执行返回的js文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里.(动态执行回调函数)

7、下面哪个不是RegExp对象的方法?()
正确答案: B D
test
match
exec
compile
解:compile() 方法可以在脚本执行过程中编译正则表达式,也可以改变已有表达式。
8、在 HTML5 中,哪个元素用于组合标题元素?()
正确答案: D
<group>
<header>
<headings>
<hgroup>
9、关于 this 的工作原理,下面 4 种情况的描述哪一个是错误的?()
正确答案: C
在全局范围内,this指向全局对象(浏览器下指window)
对象函数调用时,this指向当前对象
全局函数调用时,this指向全局函数
使用new实例化对象时,this指向新创建的对象
10、下面哪一种不属于 js 的六种基本数据类型?()
正确答案: D
undefined
string
null
Object
11、var arr=[{a:1},{}];
arr.forEach(function(item,idx){
    item.b=idx;
});
上面代码执行后,arr的值是:()
正确答案: B
[{a:1},{}]
[{a:1,b:0},{b:1}]
[{a:1,b:1},{b:1}]
[{a:!,b:0},{b:0}]
12、哪一个不是浏览器默认的天生inline-block标签(拥有内在尺寸,可设置高宽,不会自动换行)?
正确答案: C
<button>
<input>
<label>
<img>
解:手动设置label的display属性为inline-block,才能实现可设置高宽,不会自动换行的效果。
13、超链接访问过后hover样式就不出现了,被点击访问过的超链接样式不再具有hover和active了,解决方法是改变CSS属性的排列顺序?()
正确答案: A
a:link {} a:visited {} a:hover {} a:active {}
a:visited {} a:link {} a:hover {} a:active {}
a:active {} a:link {} a:hover {} a:visited {}
a:link {} a:active {} a:hover {} a:visited {}
14、表示新开一个标签页的超链接代码是:()
正确答案: C
<a href=URL target=_new>..</a>
<a href=URL target=_self>..</a>
<a href=URL target=_blank>..</a>
<a href=URL target=_parent>..</a>
15、在实际使用中,下面哪一个可以很方便的获得页面中定义的HTML对象?()
正确答案: D
document.GetElementsByTagName
document.getElementByTagNames
document.getElementsById
document.getElementById
16、var F=function(){};
Object.prototype.a=function(){};
Function.prototype .b=function(){};
var f=new F();
关于这段代码正确的结论是:()
正确答案: A 
f能取到a,但取不到b
f能取到a,b
F能取到b,不能取到a
F能取到a,不能取到b
解:任何自定义的构造函数都是Object的实例
17、下列哪一项不是 HTML5 中新增加的标签?()
正确答案: C
nav
article
caption
video
18、下列 media queries 的定义方式中,哪一个是适配 iphone6s 的?()
正确答案: B
.@media(min-device-width:375px) and(max-device-width:667px) and(-webkit-min-device-pixel-ratio:2){}
.@media(min-device-width:414px) and(max-device-width:736px) and(-webkit-min-device-pixel-ratio:3){}
@media only screen and (min-device-width:320px) and (max-device-width:480px) and (-webkit-device-pixel-ratio:2){}
@media only screen and (min-device-width:320px) and (max-device-width:568px) and (-webkit-min-device-pixel-ratio:2){}
解:iphone6s的屏幕宽高是414X736
19、下面哪一个字符串不匹配正则 /^a|bc$/ ()
正确答案: A
’bcd’
’abc’
’dbc’
’adc’
20、下面结果为真的表达式是:()
正确答案: C
null instanceof Object
null === undefined
null == undefined
NaN == NaN
21、编写一个函数实现form的序列化(即将一个表单中的键值序列化为可提交的字符串)

 

代码:

 

function parse(){
	var form=document.getElementById('target');
	var options=form.getElementsByTagName('option');
	var age='',name='',password='',salery='',hobby='',sex='',description='';
	for(var i=0,len=options.length;i<len;i++){
		if (options[i].selected) {
			age=options[i].value;
			break;
		}
	}
	var inputs=form.getElementsByTagName('input');
	for(var i=0,len=inputs.length;i<len;i++){
		switch(inputs[i].name) {
			case 'name':
				name=inputs[i].value;
				break;
			case 'password':
				password=inputs[i].value;
				break;
			case 'salery':
				salery=inputs[i].value;
				break;
			case 'hobby':
				if (inputs[i].checked) {
					hobby=inputs[i].value;
				}
				break;
			case 'sex':
				if (inputs[i].checked) {
					sex=inputs[i].value;
				}
				break;	
		}
	}
	description=form.getElementsByTagName('textarea')[0].innerHTML;
	return 'name='+encodeURIComponent(name)+'&age='+encodeURIComponent(age)+
			'&password='+encodeURIComponent(password)+'&salery='+encodeURIComponent(salery)
			+'&hobby='+encodeURIComponent(hobby)+'&sex='+encodeURIComponent(sex)+
			'&description='+encodeURIComponent(description);
}

 

 

 

22、请用js原生代码写出数组去重的函数,并考虑到执行效率。

 

 

 

function delRep(arr){
	return !arr||!arr.length?[]:[...new Set(arr)];
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明致成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值