<strong><span style="font-size:18px;">前几天去参加某公司的面试,面试过程中设计的问题包括HTML、CSS、JS、框架布局及浏览器兼容性问题等,现将问题总结如下:</span></strong>
1.规定元素的定位类型postion的值?
在介绍postion值之前先给大家介绍一下 z-index的使用,它可被用于将在一个元素放置于另一元素之后,决定了一个HTML元素
的层叠级别。元素层叠级别是相对于元素在Z轴上(X轴与Y轴的平面相垂直相的平面)的位置而言。一个更高的Z-index值意味着
这个元素在叠层顺序中会更靠近顶部(值越大越在上层,可以允许有负数值)。
(1). static:是该属性的默认值,元素出现在正常的流中(忽略掉top,button,left,right或者是z-index的声明)。
(2). fixed:生成固定定位的元素,相对于浏览器窗口(body)进行定位;元素的位置通过 "left", "top", "right" 以及 "bottom"
属性进行规定。
(3). absolute:生成绝对定位的元素(相对于 static 定位以外的第一个父元素进行定位),参照浏览器的左上角,元素的位置
通过 "left", "top", "right" 以及 "bottom" 属性进行规定。默认依据父级的坐标原始点作为原始点,如果设置了TRBL但是父级却没有
postion属性的话,那么当前的absolute就以就以浏览器的左上角作为原始点进行定位。
(4). relative:生成相对定位的元素(相对于其正常位置进行定位),他是参照父级的原始点为原始点,无父级则以BODY的
原始点为原始点,当父级内有padding等CSS属性时,当前级的原始点则参照父级内容区的原始点进行定位。
(5). inherit:规定该元素的postion值应该从父元素继承 position 属性的值(不常用)。
2.将给定的一个数组中的元素去重?
<span style="font-size:18px;">Array.prototype.unique = function(){
var resort = [];//新建一个数组用来存储去重后的数组
var json = {};//建立一个json对象
for(var i = 0; i < this.length; i++){
if(!json[this[i]]){
resort.push(this[i]);//将第一次出现的值push进resort数组
json[this[i]] = 1; //将json的属性值设为1
}
}
return resort;//返回去重后的数组
}
var arr = [1,3,1,4,'hello',1314,134,134,'你好','str','hello','1314','str1'];
alert(arr.unique());</span>
<span style="font-size:18px;">//下面代码等同于上面代码
</span><pre name="code" class="javascript">function dereplication(arr){
var resort = [];//新建一个数组用来存储去重后的数组
var json = {};//建立一个json对象
for(var i = 0; i < arr.length; i++){
if(!json[arr[i]]){
resort.push(arr[i]);//将第一次出现的值push进resort数组
json[arr[i]] = 1; //将json的属性值设为1
}
}
return resort;//返回去重后的数组
}
var arr = [1,3,1,4,'hello',1314,134,134,'你好','str','hello','1314','str1'];
alert(dereplication(arr));</span>
3.求出给定的字符串中出现次数最多的字符以及出现次数?
<span style="font-size:18px;">function findMaxTime(str){
var json= {};
for (var i = 0, l = str.length; i < l; i++) {
var key = str[i];//取一个字符出来,比如c
if (!json[key]) {
//在对象中存在这个【字符】么?注意,值是字符的个数(比如1,2,3,4),而不是字符(a,b,d)
json[key] = 1;//如果不存在,就将这个字符出现的个数设置为1
} else {
json[key]++;//如果个数已经存在了,就加1
}
}
var max = -1;
var max_key = "";
var key1;//只是初始化一个变量,用于下面的遍历,没什么实际作用
for (key1 in json) {//遍历对象中的所有字符(个数)
if (max < json[key]) {
max = json[key];
max_key = key;
}
}
alert("max_num:"+max+" "+" max_char:"+max_key);
}
var str = "abcdefgada";
findMaxTime(str);</span>