1.盒子模型,块级元素和和行内元素特性和区别
2.CSS实现垂直水平居中
3.常用的css hack方法
4.position的值,relative和absolute分别是相对于谁进行定位的?
5.如何解决跨域问题
6.清除浮动的方式和各自的优劣
7.求100之内的素数(大于1的自然数中,只能被1和它本身整除的数)
8.请写一个函数,实现以下功能,字符串"open_door"转换成"OpenDoor" / “make_by_id"转换成"MakeById”
9.找出字符串"aabckaas"中出现最多次数的字母
var str="aabckaas";
var arr=[];
for(var i=0; i<str.length;i++){
var char=str[i];
//console.log(char);
if(arr[char]===undefined){
arr[char]=1;
}else{
arr[char]++
}
}
console.log(arr)
var max,count=0;
for(var key in arr){
if(arr[key]>count){
count=arr[key];
max=key;
}
}
console.log(`出现最多的字母是:${max},出现的次数是:${count}`)
10.给定一个数,判断是否是回文数,这个数顺读和逆读都是一样的.例如:121,1221是回文数,123,1231不是回文数
function hw(num){
var str=num.toString();
for(var i=0;i<str.length/2;i++){
//通过判断对称位的值是否一致,来return 是不是回文
if(str[i] !== str[str.length-1-i]){
return "不是回文";
}
}return "是回文";
}
console.log(hw(1221221))
11.CSS选择器以及优先级计算
12.下面代码打印的值是:
var o={
a:10,
b:{
fn:function (){
console.log(this.a) // this=>b b是一个对象 this.a => obj.a 强行访问一个对象中不存在的值将会返回undefined
}
}
}
o.b.fn();
13.把下面数组
[
[1,2],
[3,4]
[
[5,6],
[7,8]
],
[
[
[9,10],
[11,12]
]
]
]
处理成
[
[1,2],
[3,4],
[5,6],
[7,8],
[9,10],
[11,12]
]
//处理思路:先进行降维操作,在进行升维操作
var arr=[
[1,2],
[3,4],
[
[5,6],
[7,8],
],
[
[
[9,10],
[11,12],
],
]
];
//console.log(arr.length);
//var arr2=[].concat(...arr);
//var arr3=[].concat(...arr2);
//var arr4=[].concat(...arr3);
//console.log(arr4)
//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
function More(arr) {
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
let sj = arr[i]
//[1,2]
//[3,4]
//[[5,6],[7,8]]
//[[[9,10],[11,12]]]
arr.splice(i, 1, ...sj)
//
i--
}
}
return arr
}
console.log(More(arr));
//[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
function oneToTwo(old) {
var array = [];
//首先创建一个大的空数组 [ ]
for (var i = 0; i < Math.ceil(old.length / 2); i++) {
array[i] = [];
// 0 下标为0的位置在建一个小的空数组
// [ [] ]
// 1 下标为1的位置再建一个小的空数组
// [ [] ,[] ]
// 2 下标为2的位置在建一个小的空数组
// [ [],[],[] ]
// 3 下标为3的位置再建一个小的空数组
// [ [] ,[] ,[],[] ]
// 4 下标为4的位置在建一个小的空数组
// [ [] ,[] ,[],[] ,[] ]
// 5 下标为5的位置再建一个小的空数组
// [[] ,[] ,[],[] ,[],[] ]
array[i].push(old[i * 2]);
array[i].push(old[i * 2 + 1]);
//第一次把旧数组里面的下标为0 下标为1 的值放进去
//第二次把旧数组里面的下标为2 下标为3 的值放进去
//第三次把旧数组里面的下标为4 下标为5 的值放进去
//第四次把旧数组里面的下标为6 下标为7 的值放进去
//第五次把旧数组里面的下标为8 下标为9 的值放进去
//第六次把旧数组里面的下标为10 下标为11 的值放进去
}
return array;
}
console.log(oneToTwo(arr))
//var result = arr.reduce((pre,next,idx)=>{
// if(idx%2){
// pre[parseInt(idx/2,10)].push(next);
// }else{
// pre.push([next]);
// }
// return pre
//},[]);
//console.log(result)