javascript测试题.docx

上传人:b****8 文档编号:9574662 上传时间:2023-02-05 格式:DOCX 页数:10 大小:18.28KB
下载 相关 举报
javascript测试题.docx_第1页
第1页 / 共10页
javascript测试题.docx_第2页
第2页 / 共10页
javascript测试题.docx_第3页
第3页 / 共10页
javascript测试题.docx_第4页
第4页 / 共10页
javascript测试题.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

javascript测试题.docx

《javascript测试题.docx》由会员分享,可在线阅读,更多相关《javascript测试题.docx(10页珍藏版)》请在冰豆网上搜索。

javascript测试题.docx

javascript测试题

html5-10班js阶段测试题

1.js的几种数据类型?

判断基本数据类型的操作符是什么?

(6分)

Number,String,Boolean,undefined,obejct

Typeof

答对一个得一分

2.列举你知道的JS浏览器兼容问题。

(6分)

写到三个以上(包含三个满分,每个两分)

1

2ie不支持ClassName取标签,非ie支持

3获取非ie窗口的scrolltop值通过document.body.scrollTop

获取ie窗口的scrolltop值通过document.documentElement.scrollTop

4通过childNodes获取子节点,ie不能取到回车节点,非ie可以。

5innerText在火狐中不可用

6addEventListener非ie支持,attachEventie专用

7input标签的type属性在ie中不可修改

3.setTimeout()和setInterval()的区别以及使用它们需要注意的事项;(6分)

一共3点,每点2分

setInterval(函数,time)从载入后,每隔指定的时间就执行一次函数(循环执行),放控制函数外部。

setTimeout(函数,time)在载入后延迟指定时间后,去执行一次函数,次数是一次,放控制函数内部。

注意:

1这两种方法可能看起来非常像,而且显示的结果也会很相似,不过两者的最大区别就是,setTimeout方法不会每隔x秒钟就执行一次函数,它是在每次调用setTimeout后过x秒钟再去执行函数。

这意味着如果函数的主体部分需要2秒钟执行完,那么整个函数则要每x+2秒钟才执行一次。

而setInterval却没有被自己所调用的函数所束缚,它只是简单地每隔一定时间就重复执行一次那个函数。

如果要求在每隔一个固定的时间间隔后就精确地执行某动作,那么最好使用setInterval,而如果不想由于连续调用产生互相干扰的问题,尤其是每次函数的调用需要繁重的计算以及很长的处理时间,那么最好使用setTimeout。

2注意及时清计时器

3setTimeout(alert(this),20)/setInterval(alert(this),20)中this都指向window

4不能直接传参

4.字符串转化为整形的方法,整形转化为字符串的方法;(4分)

1、parseInt()、Number();

2、toString();String();“”;//eval

每个两分(不止这几种只列出了最常见的)

toString与String区别:

数值、布尔值、对象、字符串值有toString()方法,但null和undefined值没有这个方法;String能将任何任何类型的值转换为字符串,包括null和undefined。

再调用数值的toString()方法时,可传递一个参数:

输出值的的基数。

通过传递基数,toString()可以输出二进制、八进制、十六进制等表示的字符串。

例子:

varnum=10;

num.toString()//’10’

num.toString

(2)//’1010’

num.toString(8)//’12’

num.toString(16)//’a’

5.在团队开发中,你是如何避免JS命名冲突的?

(4分)

1、闭包

2、命名空间

3、可以开发前规定命名规范,根据不同开发人员开发的功能在函数前加前缀

每种2分方法,不止两种,答对两个或以上给满分

6.简述一下绑定事件的常见方法,它们有什么特点?

(6分)

1、在标签中绑定;

2、Element.on+type=func;

3、attachEvent("on"+type,func);

4、addEventListener(type,func,false);执行冒泡阶段

addEventListener(type,func,true);执行捕获阶段

每个1.5分

7.

functiontest(){

alert(this);

}

test();

varo=['a'];

o.test=test3=function(){

alert(this);

}

o.test();

test3();分别弹出什么?

为什么?

(8分)

第一个弹window,函数中this指向window,

第二个弹a,方法中的this指向对象

第三个弹window,test3是一个函数;

(能答出弹什么给一分,能说出原因给三分)

8.vara;alert(a)会弹出什么?

为什么?

(4分)

undefined,变量a声明了,但是未赋值;(能答出弹什么给一分,能说出原因给三分)

9.vara=1;

functiontest(){

a++;

alert(a);

vara=1;

alert(a);

}

test();//结果是多少?

为什么?

(6分)

第一个弹NaN,a在test()里面找的时候,如果前面没有声明vara;那么a会自动变成vara;但是未赋值,所以是undefined,执行a++的时候会变成NaN,不是一个有效的数值;

第二个弹1,因为声明了变量a=1;所以弹出1;

(能答出弹什么给一分,能说出原因给2分)

 

10.如何创建一个新的div,并把它插入到

中,又如何把它移除?

(7分)

Jquery:

$(‘

’).prependTo($(‘#con’));

$(‘div’).remove();(能写出新建标签给2分,插入到#con中给2分,移除给3分)

Js写法:

Varcon=document.getElementById(‘con’);

Vardivs=document.CreateElement(‘div’)

con.appendChild(divs);

con.removeChild(divs);

11.Html代码如下

1

2

3

4

5

6

7

用js实现:

点击任意div,弹出该div的下标。

(7分)

vardivs=document.getElementsByTagName(‘div’);

for(vari=0;i

divs[i].onclick=test;

}

functiontest(){

for(vari=0;i

if(this==divs[i]){

alert(i);

}

}

}

12.JS实现如下效果:

一个div的宽度从0变到100px,再从100px变回到0,如此反复。

(8分)

实现从0到100px给2分,如果同时实现了100px到0,给6分;

13.用jquery实现一个动画,一个div,宽高为200px;当鼠标放上去的时候,div缩小至宽高为0;鼠标挪走,div宽高增加至200px,然后弹出“动画完成”(6分)

(每完成一部给三分)

$('div').hover(

function(){$('div').animate({width:

0,height:

0});},

function(){$('div').animate({width:

'200px',height:

'200px'},function(){alert('动画完成');});}

14.vark;

for(vari=0;i<5;i++)

{

for(varj=0;j<10;j++)

{

k=i+j;

}

}

alert(k)//k为多少?

(4分)

k=13(答对值给4分)

15.给你下面一段代码,请指出其中错误之处:

(5分)

vardivs=document.getElementByTagName(‘div’);

functiontest(a){

if(typeofa=‘undefined’){

return;

}

divs.innerHtml=a;

$(‘input’).eq(0).value=”a”;

(找出一处给1分)

}

getElements、if判断句中用两个等号、divs是数组要加下标、innerHTML、$(‘input’)[0].value=’a’;

 

16.根据注释写代码:

(5分)

Html代码如下:

实现以下效果:

现有一个空数组vara=newArray();点击第二个input标签,将第一个input标签里的填写的值插入到数组a中;

varinputs=document.getElementsByTagName(‘input’);

inputs[1].onclick=function(){

a.push(inputs[0].value);

}

17.用jquery的ajax写一个简单的效果

Html代码:

inputs[0].onclick=function(){

$.ajax(

function(){

type:

’get’,

data:

’’,

url=’

success:

function(data){

vard=eval('('+data+')');

inputs[0].value=d.value;

}

}

}

18.额外题

vara=0;

test();

functiontest(){

vara=6

b()

}

functionb(){

alert(a)

}

//弹出a是多少?

为什么?

(6分)

答对给1分,说对为什么给5分;

弹出0,方法b()的作用域是最外面的那个全局变量a,而不是test()里面的局部变量a

 

19.额外题目:

一个div宽高100,点击变大,当它的宽高等于400px开始缩小,当宽高缩小至100px时,开始放大;再次点击暂停缩小或放大,再再次点击,div继续放大或缩小;(8分)

vara=document.getElementById('a');

vari=0,t,n=1,count=1;

a.onclick=function(){

count++;

if(count%2==0){t=setInterval(run,10);}

else{clearInterval(t);}

functionrun(){

if(n==1){x++;}

if(n==-1){x--;}

if(i==300){n=-1;}

if(i==0){n=1;}

a.style.width=100+i+"px";

a.style.height=100+i+"px";

}

}

20.额外题目:

现在有一段字符串vara=”abcdefg”;

如何取得这段字符串的最后三个字符,用js实现;(4分)

方法很多种:

最简单的一种

方法一:

varb=a.slice(4);

alert(b);

方法二:

vararr=[];

for(vari=a.length-3;i

arr.push(a[i])

}

arr.join(‘’);

document.write(arr.join(‘’))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1