H5-JS基础试题姓名:班级:成绩:一、单选题(每小题1分,20小题,共60分)1、null,undefined,”string",20,true和false的共同点是()A、都是对象B、都有相同的实例属性C、都是原始值D、都是函数2、下列哪个正确的引入了myScript.js()A、<script href="myScript.js">B、<script name="myScript.js">C、 <script src="myScript.js">D、 <script src=“myScript.js”>3、下列哪个符号不是逻辑运算符()A、%B、||C、 &&D、 !4、以下()为JavaScript声明变量的语句。
A、dim x;B、int x;C、var x;D、x;5、如下代码输出的结果是()console.log(1+ "2"+"2");console.log(1+ +"2"+"2");console.log("A"- "B"+"2");console.log("A"- "B"+2);A、 122122NaNNaNB、12232NaNNaN2C、12232NaN2NaND、12232NaN2NaN26、执行下面语句后c的值是()var a=2,b=1,c=3;if(a<b)if(b<0)c=0;elsec++;A、1B、2C、3D、47、哪个操作符根据值和类型来比较变量()A、 ==B、 ===C、 =D、这些都不是8、var a = false;var x = a ? “A”:“B”;x的值是()A、AB、BC、TRUED、FALSE9、程序段如下:var x = new Boolean(false);if (x) {alert('hi');}var y = Boolean(0);if (y) {alert('hello');}最后的显示结果是()A、 hiB、 hi helloC、helloD、不显示10、哪个关键字用来定义条件语句的可选分支()A、orB、elseC、altenativeD、next11、下列选项中哪一个等价于()if (a) {x = b;}else {x = c;}A、x = a ? b , c;B、 x = a : b ? c;C、 x = a ? b : c;D、 x = a ? b ; c;12、执行以下程序段后,x的值是()var x=0;switch(++x) {case 0: ++x;case 1: ++x;case 2: ++x;}A、1B、2C、3D、413、var x = typeof new String("abc");x的值是()A、"string"B、undefinedC、"object"D、"number"14、Number(null);此代码将返回()A、NullB、1C、undefinedD、015、解读下面的js代码,计算的结果是()var num=10;if( 5==num/2 && (2+2*num).toString()==”22”){document.write(true)}A、TRUEB、FALSEC、5D、2216、下面哪个变量类型在javascript 中不存在()A、objectB、booleanC、integerD、number17、以下不属于Javascript原始类型的是()A、stringB、numberC、functionD、boolean18、下面语句var x= -10, y; x=2*x; y=x+15;计算后y的结果是()。
A、-15B、10C、-5D、519、document.write(a+2);var a = 10;a=a+2.页面上显示的值是()A、10.0B、12.0C、NaND、undefined20、分析下面的JavaScript代码,经过运算后m的值为()x=11;y=“number”;m=x+y;A、numberB、11.0C、11numberD、程序报错21、结束本次循环,进入下一次循环的关键字是()A、continueB、breakC、returnD、end22、以下程序运行结束正确的是()var a = 3;var b = 4;var c = 5;console.log(a>b?a:c);A、3B、4C、5D、b23、运行下面运行程序function print() {var x = 1;if(x == '1')console.log('One');if(x === '1')console.log('Two');}print();最后返回的结果是()A、oneB、1C、twoD、224、下列JavaScript的循环语句中,正确的是()A、if(i<10;i++)B、for(i=0; i<10)C、for i=1 to 10D、for( i=0; i<=10;i++)25、下列不是分支语句使用的关键字是( )A、caseB、ifC、elseD、for26、while语法的正确使用是()A、 while i=(1 <> 10)B、 while (i<=10)C、while (i<=10;i++)D、 while i=1 to 1027、function f(y) {var x=y*y;return x;}for(x=0;x< 5;x++) {y=f(x);document.writeln(y);}输出的结果是()A、0 1 2 3 4B、 0 1 4 9 16C、 0 1 9 4 16D、以上答案都不对28、在循环结构中能强制退出循环的关键字是()A、continueB、breakC、returnD、end29、下面代码的输出结果是()bar(); function bar() { console.log('bar');}A、TypeErrorB、barC、undefinedD、SyntaxErrror30、JavaScript中,函数是()A、循环B、操作符C、对象D、总是全局的31、如下代码段中,var x=0; while(______) x+=2;要使while循环体执行10次,空白处的循环判断应写成()A、x<10B、x<=10C、x<20D、x<=2032、如下代码段中,for(var i=0 , j=1 ; i<3 ; i++){j+=i ;}当该循环结束之后,j的值为( )A、1B、2C、3D、433、下列不是循环语句关键字的是( )A、forB、doC、whileD、switch34、function fn(a,b,c){alert(arguments.length)}fn();上面函数fn,调用函数fn的时候输出结果为()A、undefinedB、3C、0D、程序会报错35、求数学表达式 "10" - (12+5).toString() 的值是()A、3B、-7C、10,125D、抛出异常36、运行下面的代码之后,x 的值是()var x;x++;A、1B、0C、NaND、undefined37、var x = '1'+2+3;x的值是()A、123B、15C、6D、语句会报错38、向数组array追加一个元素10,正确的语法是()A、array.shift(10);B、array.unshift(10);C、array.push(10);D、array.slice(10);39、var arr=[31,13,234,54,87];arr.sort();对数组arr进行遍历返回( )A、13,31,54,87,234B、13,234,31,54,87B、234,87,54,31,13 D、87,54,31,234,1340、把一个数组从开头添加的方法是()A、shiftB、unshiftC、popD、push41、创建一个Date对象,值是1998年1月10日,正确的写法是()A、new Date(1998, 1, 10);B、new Date(0, 10, 1998);C、new Date(1, 10, 1998);D、new Date(1998, 0, 10);42、以下定义数组语法错误的是()A、var array =[];B、var array = new Array();C、var array = new Array(10);D、var array = {10,20,30};43、var primes = [2,1,,3,7,]; primes.length 的返回值是什么()A、3B、4C、5D、644、var array = [1,2,3,4,5,6];array.splice(2,3);alert(array);以上代码运行的正确结果是()A、1,2,6B、4,5,6C、1,2,5,6D、1,2,345、数组 var arr = [“a”,”b”,”c”,”d”,”e”] ; arr.slice(2,4) ;alert(arr) 弹框应弹出()A、b,c,dB、c,dC、c,d,eD、a,b,c,d,e46、var x = ['Hello'];alert(x*b)的结果是()A、['Hello']B、undefinedC、nullD、NAN47、下面哪个选项实现了,复制一个数组得到新的数组,原数组的值不变()A、 var newArray = oldArray;B、var newArray = new Array(oldArray);C、var newArray = [oldArray];D、var newArray = oldArray.slice(0);48、var a = new Array("100","2111","41111");for(var i = 0;i < a.length;i ++ ) {document.write(a[i]+ " ");}输出结果是()A、100 2111 41111B、0 1 2C、1 2 3D、1 2 449、JavaScript对象类型中,哪个能够在一个变量中存多个值()A、functionB、vectorC、listD、array50、执行下列代码之后,数组myArr的值是( )var myArr = [1,2,3,4,5];myArr.shift();A、[1,2,3,4,5]B、[2,3,4,5]C、 []D、[1,2,3,4]51、增加一个新值到数组的最后,下面哪一个选项是正确的?A、arr[value] = length;B、arr[arr.length()] = value;C、arr[arr.length] = value;D、arr.length = value;52、数组下标出界,将返回( )A、缺省值,如0B、给浏览器返回错误C、数组中第一个或最后一个值D、undefined53、这个循环不对,问题在哪里()var foos = ['a', 'b', 'c' , 'd', 'e'];var bars = ['x', 'y', 'z'];for (var i = 0; i < foos.length; i++){var foo = foos[i];for (var i = 0; i < bars.length; i++){var bar = bars[i];/* some code using `bar` */}}A、内循环重置了外面的for循环,每次都设了一个固定值,导致了无限循环B、外循环在第一次循环后结束,因为很不幸这是ECMAScript规范的一个bugC、未捕获的语法错误D、没有bug,循环正确运行54、数组对象的length属性一直是()A、等于最后一个对象下标数加一B、等于最后一个对象下标数减一C、等于最后一个对象下标数D、等于这个数组对象属性的数量55、以下关于Array数组对象的说法不正确的是()A、对数组里数据的排序可以用sort函数,如果排序效果非预期,可以给sort函数加一个排序函数的参数B、reverse用于对数组数据的倒序排列C、向数组的最后位置加一个新元素,可以用pop方法D、unshift方法用于向数组添加第一个元素56、关于Javascript中数组的说法中,不正确的是()A、数组的长度必须在创建时给定,之后便不能改变B、由于数组是对象,因此创建数组需要使用new运算符C、数组内元素的类型可以不同D、数组可以在声明的同时进行初始化57、下列运算符,哪个是用来判断一个对象是不是数组( )A、typeofB、breakC、instanceofD、switch58、Javascript中, 以下代码运行后变量y的值是: ( )var x = [‘abcde’ , 123456]; var y = typeof typeof x[1];A、functionB、objectC、numberD、string59、var a = []; 以下向数组添加元素的方式正确的是( )A、a.pop(“zero”);B、a.push(“one”);C、a.join(“two”);D、a.shift(“three”);60.var undefs = [,,]; undefs.length 的返回值是( )A、0B、1C、2D、3二、填空题(每空1分,共28分)1、把JavaScript加入到HTML中有和两种方法。