• 2014蘑菇街校招前端笔试题和我自己的解答


    2014蘑菇街校招前端笔试题和我自己的解答

    • 写出position属性的属性值,简述各值的感化与差别

    position: static;

    元素框正常生成,块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中

    position: relative;

    元素框偏移某个距离,元素仍然保持位定位前的形状,它原本所占的空间仍然保留

    position: absolute;

    元素从文档流完全删除,相对于包含块定位,包含块可能是元素中的另一个元素或者初始包含块()。元素原先在正常文档流中所占的空间被关闭,且定位后的元素会生成一个块级框

    position: fixed;

    相当于包含块是视窗的position: absolute;

    • 写出一个两列等高,左列固定宽度为300px,右列自适应浏览器的布局

    这里参考豆瓣克军大牛的一篇文章

        <style>
    		body {
    			height: 500px;
    		}
    		.left {
    			background: yellow;
    			 300px;
    			float: left;
    			height: 100%;
    		}
    		.right {
    			overflow: hidden;
    			zoom: 1;
    			background: green;
    			height: 100%;
    		}
    	</style>
        <body>
        	<div class="left"></div>
        	<div class="right">
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        		<p>abcd</p>
        	</div>
    	</body>
    
    • 写一个获取url中参数的值的函数

        function getRequest() {
      
        	   	var url = window.location.search;
      
        	   	var oRequest = new Object();
      
        	   	if (url.indexOf('?') !== -1) {
      
        	   		url = url.substr(1); // 取得?以后的字符串
      
        	   		var reqArr = url.split('&');
      
        	   		for (var i = 0; i < reqArr.length; i++) {
      
        	   			oRequest[(reqArr[i].split('='))[0]] = unescape((reqArr[i].split('='))[1]);
        	   		}
        	   		
        	   	}
      
        	   	return oRequest;
      
        	}
      

      有字符串在的地方就少不了正则表达式

        // 根据参数获取参数值
        function getQueryString(name) {
      
        	var reg = new RegExp("(^|&)"+name+"=([^&]*)(&|$)", "i");
      
        	var ret = location.search.substr(1).match(reg);
      
        	return ret === null ? null : ret[2];
        }
      
        console.log(getQueryString("key"));
      
        
        // 返回参数与参数的值对象
        function getRequest() {
        	var searchStr = decodeURI(window.location.search);
        	var reg = /([u4E00-u9FFFa-zA-Z0-9_]+=[u4E00-u9FFFa-zA-Z0-9_]+)/g;
        	var aRes = [];
        	var oRequest = {};
        	var i = 0;
        	aRes = searchStr.match(reg);
        	for (i = 0; i < aRes.length; i++) {
        		oRequest[(aRes[i].split('='))[0]] = (aRes[i].split('='))[1];
        	}
        	return oRequest;
        }
        console.log(getRequest());    
      
    • 写出一个3X5的方格一共有几许个矩形的推导过程以及成果

    每个矩形都是由两条水平直线和两条竖直直线组成的,那么水平直线的取法有 32/(21) = 3,竖直线的取法有 54/(21) = 10,则矩形个数为30(不知道这里正方形算不算矩形……)

    • 简单用代码实现下JS中的原型持续,并且画图申明其父类与子类的原型关系
    • 用JS代码简单介绍本身
    • JS中的数据类型?如何断定一个变量是否是String类型

    在ECMAScript有5种基本数据类型: Undefined/Null/Boolean/Number/String, 以及一种复杂数据类型Object。

    var str = new String("abcd");
    console.log(typeof str); // object
    console.log(Object.prototype.toString.call(str) === "[object String]"); // true
    
    var str1 = "abcd";
    
    console.log(typeof str1); // string
    console.log(Object.prototype.toString.call(str1) === "[object String]"); // true
  • 相关阅读:
    [HAL]5.中断里调用HAL_Delay()进入死循环的原因
    【个人吐槽】C、Delphi、C#、java 摘抄
    【常用软件】木木的常用软件点评(2)------VC程序员常用工具篇
    【下位机软件】平均值滤波之鬼斧神工算法
    【vs2013】如何在VS的MFC中配置使用GDI+?
    【MFC】MFC改变对话框中静态文本的字体大小
    【MFC】VC界面绘制双缓存
    【MFC】如何在MFC创建的程序中更改主窗口的属性 与 父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响 与 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS
    Query的选择器中的通配符[id^='code']或[name^='code']
    获取checkbox数组 里面的值
  • 原文地址:https://www.cnblogs.com/zhongshanblog/p/4690856.html
Copyright © 2020-2023  润新知