开班考试
开班考试
一、选择题
1. CSS 盒子模型中(c)是透明的,这部分可以显示背景。
A、border
B、margin
C、padding
D、content
Border-image:url可以设置背景图片
从语义分析不是问的content
标准和模型和混杂(IE)盒模型的区别?
2. 下面哪个属性不会让div 脱离文档流(normal flow)?
A、position: absolute; 绝对定位 自身最近有定位的父级
B、position: fixed; 窗口定位
C、position: relative;
D、float: left; 浮动
3. 有一段html 代码:
<div style="color: red; text-color: blue;"> 没这个属性!
<span style="color: green; text-color: black">hello</span>
</div>
那么"Hello"的字体颜色是__________。
A、red
B、blue
C、green
D、black
4. var arr = new Array( new Array(9, 0, 3, 4, 5), ['a', 'b', 'c'], new Array(2, 9, 0, 6));
则arr[1][3]=( )。
A、c
B、6
C、4
D、undefined
二维数组
5. 有如下代码:
var arr = new Array(9); 声明一个长度为9的数组!无值位是空
arr[0] = 1;
arr[2] = 2;
该数组的length 属性值为(d )。
A、2
B、10
C、8
D、9
二、填空题
1. var str = '123abc';
str.replace('abc', ''); -->str = '123';
str += str.replace('abc', '');
console.log(str);
正则表达式,replace 原字符串没有改变!
replace方法不改变原数组
此程序的运行结果为 123abc123 。
2. 想让所有元素节点都可以使用sayJiChenghandsome 方法,效率最高的
方式是_ 将方法添加到原型链上 _。
3. var a = 10,
b = 20,
c = 30;
++ a; 11
a ++; 12
//13 + 21 + 31 + 12
e = ++ a + (++ b) + (c ++) + a ++;
console.log(e);
a++ 不改变原有值
控制台打印结果:_______77____________
4. var a = 20;
if (function b () {}) {a = 30 + typeof b}; //20undefined
function test (a) { if(false) {function b() {}} return a + b}; //10 + undefined
test(10, 20);
结果是什么___ NAN ___。
三、问答题
1. 请写出以下代码说出的结果
function fun(n,o) {
console.log(n, o);
return {
fun:function(m) {
return fun(m,n);
}
};
}
var a = fun(0); a.fun(1); a.fun(2); a.fun(3);
var b = fun(0).fun(1).fun(2).fun(3);
var c = fun(0).fun(1); c.fun(2); c.fun(3);
解答:
function fun(n,o) {
console.log(n, o);
return {
fun:function(m) {
return fun(m,n);
}
};
}
var a = fun(0); // 0 undefind
a.fun(1); // 1 0
a.fun(2); // 2 0
a.fun(3); // 3 0
var b = fun(0).fun(1).fun(2).fun(3);
//0 n //1 0 // 2 1//3 1
var c = fun(0).fun(1); // 0 n //1 0
c.fun(2); // 2 1
c.fun(3); // 3 1
2.
var arr = [33, 11, 22, 44, 66, 55] 请用冒泡排序的方式对该数组进行由小
到大的排列。
var arr = [33, 11, 22, 44, 66, 55];
var len = arr.length;
for(i = 0; i < len; i++){
for(j = 0;j < len - 1 ;j++){
if(arr[j]>arr[j+1]){
var m = arr[j];
arr[j] = arr[j+1];
arr[j+1] = m
}
}
}
console.log(arr);
var arr = [1, 11, 22, 44, 66, 55,2,3,4,5,6,7,8,99,123];
function pop (arr) {
var len = arr.length;
var bmp = '';
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
bmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = bmp;
}
}
}
return arr;
}
pop(arr);
快排:
var arr = [31, 11, 22, 44, 66, 55, 2, 3, 4, 5, 6, 7, 8, 99, 123];
function quicksort(arr) {
if (arr.length <= 1) {
return arr;
}
var left = [];
var right = [];
var center = Math.floor(arr.length / 2);
var p = arr[center];
arr.splice(center, 1);
var len = arr.length;
for (i = 0; i < len; i++) {
if (arr[i] < p) {
left.push(arr[i]);
} else {
right.push(arr[i]);
}
}
return quicksort(left).concat(p, quicksort(right));
}
console.log(quicksort(arr));
sort排序
var arr = [31, 11, 22, 44, 66, 55, 2, 3, 4, 5, 6, 7, 8, 99, 123];
function sortNumber(a,b)
{
return a - b
}
console.log(arr.sort(sortNumber))
3.var str = 'acccaaasssddadaccvdadad'; 请在String.prototype 添加一个字符
串去重函数uniqueString。
数组法:
var str = 'acccaaasssddadaccvdadad';
String.prototype.uniqueString = function(){
var b = [];
for(i=0;i<this.length;i++){
for(j=0;j<b.length;j++){
if(this[i]===b[j]){
break
}
}
if(j==b.length){
b.push(this[i])
}
}
var str2 = '';
for(m = 0; m < b.length ; m++ ){
str2 += b[m];
}
return str2;
}
console.log(String.prototype.uniqueString.call(str));
对象法
var str = 'acccaaasssddadaccvdadad';
String.prototype.uniqueString = function () {
var obj = {};
var res = '';
for(i=0;i<this.length;i++){
if(!obj[this[i]]){
res+=this[i];
obj[this[i]] = 1;
}
}
return res;
}
console.log(String.prototype.uniqueString.call(str));