2014蘑菇街校招前端笔试题和我自己的解答
2014蘑菇街校招前端笔试题和我自己的解答
- 写出position属性的属性值,简述各值的感化与差别
position: static;
元素框正常生成,块级元素生成一个矩形框,作为文档流的一部分,行内元素则会创建一个或多个行框,置于其父元素中
position: relative;
元素框偏移某个距离,元素仍然保持位定位前的形状,它原本所占的空间仍然保留
position: absolute;
元素从文档流完全删除,相对于包含块定位,包含块可能是元素中的另一个元素或者初始包含块()。元素原先在正常文档流中所占的空间被关闭,且定位后的元素会生成一个块级框
position: fixed;
相当于包含块是视窗的position: absolute;
- 写出一个两列等高,左列固定宽度为300px,右列自适应浏览器的布局
这里参考豆瓣克军大牛的一篇文章
<style>
body {
height: 500px;
}
.left {
background: yellow;
width: 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