js基础测试题.docx
- 文档编号:30077835
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:13
- 大小:18.11KB
js基础测试题.docx
《js基础测试题.docx》由会员分享,可在线阅读,更多相关《js基础测试题.docx(13页珍藏版)》请在冰豆网上搜索。
js基础测试题
一、选择题〔每题2分,多项选择题错选、少选不得分〕
1、分析下段代码输出结果是〔〕
vararr=[2,3,4,5,6];
varsum=0;
for(vari=1;i sum+=arr[i] } console.log(sum); A.20 B.18 C.14 D.12 2、以下关于Array数组对象的说法不正确的选项是〔 〕 A.对数组里数据的排序可以用sort函数,假如排序效果非预期,可以给sort函数加一个排序函数的参数 B.reverse用于对数组数据的倒序排列 C.向数组的最后位置加一个新元素,可以用pop方法 D.unshift方法用于向数组删除第一个元素 3、以下代码运行的结果是输出( ) vara=b=10; (function(){ vara=b=20 })(); console.log(b); A.10 B.20 C.报错 D.undefined 4、以下代码运行后的结果是输出( ) vara=[1,2,3]; console.log(a.join()); A.123 B.1,2,3 C.1 2 3 D.[1,2,3] 5、在JS中,’1555’+3的运行结果是( ) A.1558 B.1552 C.15553 D.1553 6、以下代码运行后弹出的结果是( ) vara=888; ++a; alert(a++); A.888 B.889 C.890 D.891 7、关于变量的命名规那么,以下说法正确的选项是〔 〕 A.首字符必须是大写或小写的字母,下划线〔_〕或美元符〔$〕 B.除首字母的字符可以是字母,数字,下划线或美元符 C.变量名称不能是保存字 D.长度是任意的 E.区分大小写 8、以下的哪一个表达式将返回值为假〔 〕 A.! (3<=1) B.(4>=4)&&(5<=2) C.(“a〞==“a〞)&&(“c〞! =“d〞) D.(2<3)||(3<2) 9、下面代码,k的运行结果是〔 〕 vari=0,j=0; for(;i<10,j<6;i++,j++){ k=i+j; } A.16 B.10 C.6 D.12 10、varx=1;functionfn(n){n=n+1};y=fn(x);y的值为〔 〕 A.2 B.1 C.3 D.undefined 11、[1,2,3,4].join("0").split("")的执行结果是〔 〕 A."1,2,3,4" B.[1,2,3,4] C.[“1〞,“0〞,“2〞,“0〞,“3〞,“0〞,“4〞] D."1,0,2,0,3,0,4" 12、下面代码的运行结果是: 第一次弹〔 〕第二次弹〔 〕 functionfn1(){ alert (1); } alert(fn1()); A.1 B.alert (1); C.functionfn1(){alert (1);} D.undefined 13,以下代码运行后,结果为〔 〕 fn1(); varfn1=function(a){alert(a);} A.1 B.程序报错 C.alert (1); D.undefined 14,varn="miaoweiketang".indexOf("wei",6);n的值为: 〔 〕 A.-1 B.5 C.程序报错 D.-10 15,下面对substring()方法描绘不正确的选项是〔 〕 A.一共有两个参数,省略第二个参数表示从参数开场位置提、截取到字符串完毕。 B.提取之前会比拟两个参数的大小,并根据大小调整位置。 C.可以接收负数参数,负数表示从后往前数字符位置。 D.假如没有设置参数,直接返回整个字符串。 16,alert("12">"9")的运行结果正确的选项是〔 〕 A.true B.false 17,下面的描绘中不正确的选项是〔 〕 A.arguments中保存了实际传入函数内的所有参数。 B.return只能在函数内部使用。 C.setInterval(fn1,1000)只会调用一次fn1。 D.Date对象的getMonth()获取到的值比实际月份小1。 18,下面的等式成立的是〔 〕 A.parseInt(12.5)==parseFloat(12.5) B.Number("")==parseFloat("") C.isNaN("abc")==NaN D.typeofNaN==="number" 19,下面的描绘中不正确的选项是〔 〕 A."=="在比拟过程中,不但会比拟两边的值,还会比拟两边的数据类型。 B.NaN==NaN的结果是true。 C.isNaN,判断传入的参数是否为数字,为数字返回true,否那么返回false D.字符串的length只可以获取,不可以设置。 20,以下代码中,会出现什么结果: 第一次弹〔 〕,第二次弹〔 〕,第三次弹〔 〕 functionfn1(){ vara=0; functionfn2(){ ++a; alert(a);} returnfn2; } fn1()(); varnewFn=fn1(); newFn(); newFn(); A.1 B.2 C.0 D.3 21,下面代码的运行结果是: 第一次弹〔 〕,第二次弹〔 〕 vara=100; functionfn1(){ alert(a); vara=10; } alert(fn1()); A.100 B.10 C.functionfn1(){alert (1);} D.undefined 22,以下代码运行后,arr的结果为〔 〕,arr2的结果为〔 〕 vararr=[1,2]; vararr2=arr.concat(); arr2.push(arr.splice(1,0)); A.[1,2] B.[1,2,[2]] C.[1,2,[]] D.[1,2,3] 23,下面关于数组的描绘正确的选项是〔 〕 A.数组的length既可以获取,也可以修改。 B.调用pop()方法,不会修改原数组中的值。 C.shift()方法的返回值是新数组的长度。 D.调用concat()方法,会修改原数组的值。 24,以下程序中alert按顺序分别弹出: 〔 〕,〔 〕,〔 〕 vara=10; functiontest(){ a=100; alert(a); alert(this.a); vara; alert(a); } test(); A.10 B.100 c.undefined D.程序报错 25,分析下面的代码,输出的结果是〔 〕 vararr=newArray(5); arr[1]=1; arr[5]=2; console.log(arr.length); A.2 B.5 C.6 D.报错 26,在JavaScript中,以下〔 〕语句能正确获取系统当前时间的小时值。 A.vardate=newDate(); varhour=date.getHour(); B.vardate=newDate(); varhour=date.gethours(); C.vardate=newdate(); varhour=date.getHours(); D.vardate=newDate(); varhour=date.getHours(); 27,请选择结果为真的选项〔 〕 A.null==undefined B.null===undefined C.undefined==false D.NaN==NaN 28,Math.ceil(-3.14)的结果是〔 〕,Math.floor(-3.14)的结果是〔 〕 29,阅读以下代码,在页面中结果是〔 〕 var s="abcdefg"; alert(s.substring(1,2)); A.a B.b C.bc D.ab 30, 以下ECMAScript变量命名格式正确的选项是〔 〕 A._125dollor B.1207A C.-dollor D.this 二、问答题〔每题8分〕 1,找到数组[-1,-2,1,10,4,5,8]中的最大值,至少写出两种方法? 2,封装一个函数,将字符串"miao-wei-ke-tang"从第二个单词开场首字母大写,然后拼成字符串miaoWeiKeTang,并返回。 〔注意: 封装成一个函数〕 3,封装一个函数,将字符串" miao v "实现trim的功能,但不使用trim方法,去掉字符串前后空格,返回处理后的字符串。 4,写一个方法,找出字符串"abcabcabcabcabcabda"中"ab"出现的次数和位置。 5,请用js代码完成以下需求: body里生成100个div,每个div宽100px,高100px,内容是1-100自身序号,颜色按红、黄、蓝、绿交替变色,10行10列排列。 以上的测试题,有没有不会的同学呢? 要是有一半以上你都答不出来的话,或许你该认真考虑进展一次全面系统深化的JavaScript学习了~ 好啦,答案即将揭晓! 注意哦,不要先看下面的答案,还是自己先检测一下再看答案哦~~ -答案如下- 一、选择题答案: 〔每题2分,多项选择错选、少选不得分〕 1、B 2、CD 3、B 4、B 5、C 6、B 7、ABCDE 8、B 9、B 10、D 11、C 12、第一次弹〔A〕第二次弹〔D〕 13、B 14、A 15、C 16、B 17、C 18、D 19、ABC 20、第一次弹〔A〕,第二次弹〔A〕,第三次弹〔B〕 21、第一次弹〔D〕,第二次弹〔D〕 22、arr的结果为〔A〕,arr2的结果为〔C〕 23、A 24、按顺序分别弹出〔B〕,〔A〕,〔B〕 25、C 26、D 27、A 28、Math.ceil(-3.14)的结果是〔B〕,Math.floor(-3.14)的结果是〔C〕 29、B 30、A 二、问答题答案: 〔每题8分〕 1、找到数组[-1,-2,1,10,4,5,8]中的最大值,至少写出两种方法? vararr=[-1,-2,1,10,4,5,8]; //第一种 varmax1=Math.max.apply(null,arr); //第二种 varmax2=arr.sort(function(a,b){ returnb-a; })[0]; //第三种 varmax3=-Infinity; for(vari=0;i if(max3 max3=arr[i]; } } 2、封装一个函数,将字符串"miao-wei-ke-tang"从第二个单词开场首字母大写,然后拼成字符串miaoWeiKeTang,并返回。 〔注意: 封装成一个函数〕 varstr="miao-wei-ke-tang"; functiontoTuoFeng(str){ vararrStr=str.split("-"); for(vari=1;i arrStr[i]=arrStr[i].substr(0,1).toUpperCase()+arrStr[i].substr (1); } returnarrStr.join(""); } console.log(toTuoFeng(str)); 3、封装一个函数,将字符串" miao v "实现trim的功能,但不使用trim方法,去掉字符串前后空格,返回处理后的字符串。 varstr=" miaov "; //第一种方法 functiontrim(str){ varstart,end; for(vari=0;i if(str[i]! ==""){ start=i; break; } } for(vari=str.length-1;i>=0;i--){ if(str[i]! ==""){ end=i; break; } } returnstr.substring(start,end+1); } //第二种方法 functiontrim(str){ varstart=0,end=str.length-1; while(start start++; } while(start end--; } returnstr.substring(start,end+1); } console.log(trim(str)); 4、写一个方法,找出字符串"abcabcabcabcabcabda"中"ab"出现的次数和位置。 varstr="abcabcabcabcabcabda"; vararr=[]; varn=0; while(str.indexOf("ab",n)! =-1&&n arr.push(str.indexOf("ab",n)); n=str.indexOf("ab",n)+2; } console.log(arr); 5、请用JS代码完成以下需求: body里生成100个div,每个div宽100px,高100px,内容是1-100自身序号,颜色按红、黄、蓝、绿交替变色,10行10列排列。 -CSS- .box{position: relative;} .boxdiv{width: 60px;height: 60px;position: absolute;} -HTML- -JavaScript- varbox=document.getElementsByTagName("div")[0]; varstr=""; vararr=["red","yellow","blue","green"]; for(vari=0;i<100;i++){ str+=" "+Math.floor(i/10)*60+"px;background: "+arr[i%arr.length]+";">"+(i+1)+" } box.innerHTML+=str;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- js 基础 测试
![提示](https://static.bdocx.com/images/bang_tan.gif)