第一次月考
-
时间:2020年7月25日
-
出题 :杨标
-
班级:H2001班
-
主题:HTML+CSS+JavaScript基础
选择题
【每题0.5分,共21分】
-
null,undefined,”string",20,true和false的共同点是( )
A、都是对象 B、都有相同的实例属性 C、都是原始值 D、都是函数
-
下列哪个正确的引入了myscript.js( )
A、
<script href="myscript.js"></script>
B、
<script name= "myscript"></script>
C、
<script src="myscript"></script>
D、
<script src=“myscript”></script>
-
如下代码输出的结果是?(直接写出结果)
console.log(1+ "2"+"2"); console.log(1+ +"2"+"2"); console.log("A"- "B"+"2"); console.log("A"- "B"+2);
-
执行下面语句后c的值是( )
var a=2,b=1,c=3; if(a<b) if(b<0) c=0; else c++;
A、1 B、2 C、3 D、4
-
var a = false;var x = a ? “A”:“B”;x的值是( )
A、A
B、B
C、TRUE
D、FALSE
-
程序段如下:
var x = new Boolean(false); if (x) { alert('hi'); } var y = Boolean(0); if (y) { alert('hello'); }
最后的显示结果是( )
A、 hi
B、 hi hello
C、hello
D、 不显示 -
下列选项中哪一个等价于( )
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;
-
执行以下程序段后,x的值是( )
var x=0; switch(++x) { case 0: ++x; case 1: ++x; case 2: ++x; }
A、1 B、2 C、3 D、4
-
Number(null);此代码将返回( )
A、Null B、1 C、undefined D、0
-
解读下面的js代码,计算的结果是( )
var num=10; if( 5==num/2 && (2+2*num).toString()==”22”){ document.write(true) }
A、TRUE B、FALSE C、5 D、22
-
下面哪个变量类型在javascript 中不存在( )
A、object B、boolean C、integer D、number
-
以下不属于Javascript原始类型的是( )
A、string B、number C、function D、boolean
-
下面语句
var x= -10, y; x=2*x; y=x+15;
计算后y的结果是( )。A、-15 B、10 C、-5 D、5
-
document.write(a+2);var a = 10;a=a+2.页面上显示的值是( )
A、10.0
B、12.0
C、NaN
D、undefined
-
分析下面的JavaScript代码,经过运算后m的值为( )
x=11; y="number"; m=x+y;
A、number
B、11.0
C、11number
D、程序报错
-
结束本次循环,进入下一次循环的关键字是( )
A、continue
B、break
C、return
D、end
-
以下程序运行结束正确的是( )
var a = 3; var b = 4; var c = 5; console.log(a>b?a:c);
A、3 B、4 C、5 D、b
-
运行下面运行程序
function print() { var x = 1; if(x == '1') console.log('One'); if(x === '1') console.log('Two'); } print();
最后返回的结果是( )
A、one B、1 C、two D、2
-
下列JavaScript的循环语句中,正确的是( )
A、if(i<10;i++)
B、for(i=0; i<10)
C、for i=1 to 10
D、for( i=0; i<=10;i++)
-
有以下程序
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 4
B、 0 1 4 9 16
C、 0 1 9 4 16
D、 以上答案都不对
-
在循环结构中能强制退出循环的关键字是( )
A、continue
B、break
C、return
D、end
-
下面代码的输出结果是( )
bar(); function bar() { console.log('bar'); }
A、TypeError
B、bar
C、undefined
D、SyntaxErrror
-
如下代码段中,
var x=0; while(______) x+=2;
要使while循环体执行10次,空白处的循环判断应写成( )
A、x<10
B、x<=10
C、x<20
D、x<=20
-
如下代码段中,
console.log((10)["toString"]() === "10");
当该循环结束之后,打印的结果为( )
A、true B、false C、10 D、程序摄氏
-
求数学表达式
"10" - (12+5).toString()
的值是( )A、3 B、-7 C、10,125 D、抛出异常
-
运行下面的代码之后,x 的值是( )
var x;x++;
A、1 B、0 C、NaN D、undefined
-
有以下程序
var x = '1'+2+3;
x的值是( )
A、123 B、15 C、6 D、语句会报错
-
向数组array追加一个元素10,正确的语法是( )
A、array.shift(10);
B、array.unshift(10);
C、array.push(10);
D、array.slice(10);
-
把一个数组从开头添加的方法是( )
A、shift
B、unshift
C、pop
D、push
-
以下定义数组语法错误的是( )
A、var array =[]; B、var array = new Array();
C、var array = new Array(10); D、var array = {10,20,30};
-
var primes = [2,1,,3,7,]; primes.length 的返回值是什么( )
A、3 B、4 C、5 D、6
-
有以下程序
var array = [1,2,3,4,5,6]; array.splice(2,3); alert(array);
以上代码运行的正确结果是( )
-
数组
var arr = ["a","b","c","d","e"] ; arr.slice(2,4) ;console.log(arr)
结果为( )A、b,c,d B、c,d C、c,d,e D、a,b,c,d,e
-
有以下程序
var x = ['Hello']; console.log(x*b)
的结果是()
A、['Hello']
B、undefined
C、null
D、NAN
-
下面哪个选项实现了,复制一个数组得到新的数组,原数组的值不变( )
A、
var newArray = oldArray;
B、
var newArray = new Array(oldArray);
C、
var newArray = [oldArray];
D、
var newArray = oldArray.slice(0);
-
增加一个新值到数组的最后,下面哪一个选项是正确的?
A、arr[value] = length;
B、arr[arr.length()] = value;
C、arr[arr.length] = value;
D、arr.length = value;
-
数组下标出界,将返回( )
A、缺省值,如0
B、给浏览器返回错误
C、数组中第一个或最后一个值
D、undefined
-
这个循环不对,问题在哪里( )
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规范的一个bug
C、未捕获的语法错误
D、没有bug,循环正确运行
-
数组对象的length属性一直是( )
A、等于最后一个对象下标数加一
B、等于最后一个对象下标数减一
C、等于最后一个对象下标数
D、等于这个数组对象属性的数量
-
关于Javascript中数组的说法中,不正确的是()
A、数组的长度必须在创建时给定,之后便不能改变
B、由于数组是对象,因此创建数组需要使用new运算符
C、数组内元素的类型可以不同
D、数组可以在声明的同时进行初始化
-
下列运算符,哪个是用来判断一个对象是不是数组( )
A、typeof B、break C、instanceof D、switch
-
Javascript中, 以下代码运行后变量y的值是: ( )
var x = [‘abcde’ , 123456]; var y = typeof typeof x[1];
A、function B、object C、number D、string
简答题
【总分:40分】
-
表达式”123abc”+123的计算结果是?【1分】
-
弹性盒子的属性有哪些?一个元素变成弹性盒子以后有什么特点【2分】
-
一个元素的设计稿的标准宽度是1080,现通过工具量出在设计稿下面的某一元素的宽度为443px,则在iphone6的网页里面,它对应的是多少?【1分】
-
表达式(Null==undefined)&&(2<3)的值为?【1分】
-
数组创建的几种方式是?【2分】
-
当弹性布局中使用了定位,会有什么现象产生,应该以谁为标准?【1分】
-
在HTML与CSS里,有哪些标签或属性使用的是
href
,哪些使用的是src
【2分】 -
for(var i=0; i<10; i++){} console.log(i);该javascript代码运行的结果是?【1分】
-
函数的参数分为哪几种?【1分】
-
函数用 什么关键字使函数产生一个返回值?【1分】
-
JavaScript的数据类型有哪些【1分】
-
一个number类型怎么转换为字符串类型【2分】
-
有JavaScript里,有哪些值被被转换为false【2分】
-
Number(null)与Number(undefined)的结果分别是多少?【1分】
-
有以下程序,写出结果【3分】
var arr = ["1","0","1","中","学"]; var result1 = parseInt(arr.join('')); var result2 = arr.forEach(parseInt); console.log(result1); console.log(result2);
-
有以下程序,写出结果【2分,错一项不得分】
console.log("2"/"1"); console.log(2 / false); console.log(1 / null); console.log(2 / undefined); console.log(2 / NaN); console.log(NaN/2); console.log(null / true); console.log("a" / "b"); console.log("" / 1); console.log("" / NaN); console.log(2 % false); console.log(1 % null); console.log(2 % undefined);
-
有以下程序,请写出结果【2分,错一项不得分】
console.log(1==2); console.log(1==true); console.log("0"==false); console.log("10"==10); console.log(""==0); console.log(NaN==0); console.log(null==undefined); console.log(""==null); console.log(0==undefined);
-
有如下代码【1分】
var a =1,b=2,c=3;
请使用表达式,找出最大的变量
-
以下代码的运行结果是什么?【1分,错一项不得分】
console.log("0 || 1 = "+(0 || 1)); console.log("1 || 2 = "+(1 || 2)); console.log("0 && 1 = "+(0 && 1)); console.log("1 && 2 = "+(1 && 2));
-
写出下面代码的运行结果【2分】
abc(); function abc(){ var a = b = "string"; }; console.log("a defined? " + (typeof a !== 'undefined')); console.log("b defined? " + (typeof b !== 'undefined'));
-
写出下列代码的运行结果【2分】
var a={ }; var b={ key:'b' }; var c={ key:'c' }; a[b]=123; a[c]=456; console.log(a[b]);
-
下面代码运行的结果是什么【2分】
console.log((function f(n){return ((n > 1) ? n * f(n-1) : n)})(10));
-
下列代码的运行结果是什么?【2分】
var str = "1949新中国成立了!"; var arr = []; for(var i = 0; parseInt(str[i]); i++){ arr[i] = str[i]; } console.log(arr);
-
形成BFC的现象有哪些?可以解决什么问题【2分】
-
在响应式布局中,如果希望一个页面在337px~750px之间做出响应,则它的媒体查询代码应该如果写【1分】
编程题
【总分:39分】
-
有1,2,3,4四个数,能组成多少个互不相同且无重复的三个数,都是多少?请打印输出【5分】
-
请设计并写出一个函数,反转一个数组。该函数具有一个参数用以传入数组,并返回一个新的数组,不允许 用到reverse函数。【5分】
-
请设计一个'flflatten'的函数,实现“拍平”一个多维数组为一维。示例如下:【8分】
var testArr1 = [[0, 1], [2, 3], [4, 5]]; var testArr2 = [0, [1, [2, [3, [4, [5]]]]]]; flatten(testArr1) // [0, 1, 2, 3, 4, 5] flatten(testArr2) // [0, 1, 2, 3, 4, 5] function flatten(arr){ //在这里补充代码 //返回结果 }
-
请设计并写出一个函数,请将一个数组中的数字挑选出来,并返回所有数字的和,如果数组中无数字则返回undefined。该函数具有一个参数用以传入字符串。【8分 】
var arr = ["a","r","5","6","3","r","r","d","s","1","7","b"]; function getSum(){ }
-
设计一个函数 isInteger(x) 来判断 x 是否是整数【5分】
-
以下是一数组,请将数组按要求拆分【8分】
//原数组 var arr =[“a”,”b”,”c”,”d”,”e”,”f”,”g”,”h”,”i”,”j”,”k”,”l”,”m”,”n”,”o”] //结果数组 var newArr = [ [“a”,”b”],[“c”,”d”,”e”],[“f”,”g”],[“h”,”i”,”j”],[“k”,”l”],[“m”,”n”,”o”] ]
加分题
【总5分】
-
数列四则运算
假设这里的条件是,组合算式的计算结果为“将原数字各个数位上的数逆序排列得到的数”,并且算式的运算按照下面运算成功的
那么位于100~999,符合条件的有以下几种情况。
351 → 3×51= 153 621 → 6×21= 126 886 → 8×86= 688
问题:请编写代码完成找出100~999之间所有符合要求的数