Web前端问题总结A

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



 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值