开班考试

开班考试

开班考试

一、选择题

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));

 

posted @ 2018-09-07 09:52 灵风博客 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值