撩课-Web大前端每天5道面试题-Day10
2018-12-17 10:47:21来源:博客园 阅读 ()
1. px和em的区别?
px和em都是长度单位; 区别是: px的值是固定的,指定是多少就是多少, 计算比较容易。 em得值不是固定的,并且em会继承父级元素的字体大小。 浏览器的默认字体高都是16px; 所以未经调整的浏览器都符合: 1em=16px; 那么12px=0.75em, 10px=0.625em
2. CSS 去掉inline-block元素间隙的几种方法?
间隙是怎么来的: 间隙是由换行或者回车导致的; 只要把标签写成一行或者 标签直接没有空格,就不会出现间隙; 怎么去除? 方法1: 元素间的间隙出现的原因 是元素标签之间的空格, 把空格去掉间隙自然就会消失。 <div class="itlike"> <span>撩课itlike</span><span>撩课itlike</span> </div> 方法2: 利用HTML注释标签 <div class="demo"> <span>撩课itlike</span><!-- --><span>撩课itlike</span> </div> 方法3: 取消标签闭合 <div class="demo"> <span>撩课itlike <span>撩课itlike <span>撩课itlike <span>撩课itlike </div> 方法4: 在父容器上使用font-size:0;可以消除间隙 <div class="demo"> <span>撩课itlike</span> <span>撩课itlike</span> <span>撩课itlike</span> <span>撩课itlike</span> </div> .demo {font-size: 0;}
3. 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?
伪数组(类数组):
无法直接调用数组方法,
length属性有什么特殊的行为,
但仍可以对真正数组遍历方法来遍历它们。
典型的是函数的argument参数,还有像调
getElementsByTagName,
document.childNodes之类的,
它们都返回NodeList对象, 这些都属于伪数组。
可以使用Array.prototype.slice.call(fArray)将数组
转化为真正的Array对象。
4. 一次完整的HTTP事务是怎样的一个过程?
基本流程:
a. 域名解析;
b. 发起TCP的3次握手;
c. 建立TCP连接后发起http请求;
d. 服务器端响应http请求,浏览器得到html代码;
e. 浏览器解析html代码,并请求html代码中的资源;
f. 浏览器对页面进行渲染呈现给用户
5. 数组快速排序?
思路: a) 在数据集之中,选择一个元素作为"基准"(pivot)。 b) 所有小于"基准"的元素,都移到"基准"的左边; 所有大于"基准"的元素,都移到"基准"的右边。 c) 对"基准"左边和右边的两个子集, 不断重复第一步和第二步, 直到所有子集只剩下一个元素为止。 var quickSort = function(arr) { if (arr.length <= 1) { return arr; } var pivotIndex = Math.floor(arr.length / 2); var pivot = arr.splice(pivotIndex, 1)[0]; var left = []; var right = []; for (var i = 0; i < arr.length; i++){ if (arr[i] < pivot) { left.push(arr[i]); } else { right.push(arr[i]); } } return quickSort(left).concat([pivot], quickSort(right)); };
6. 开发中有哪些常见的Web攻击技术?
a) XSS(Cross-Site Scripting,跨站脚本攻击): 指通过存在安全漏洞的Web网站注册用户的浏览器 内运行非法的HTML标签或者JavaScript进行的一种攻击。 b)SQL注入 c) CSRF(Cross-Site Request Forgeries,跨站点请求伪造): 指攻击者通过设置好的陷阱,强制对已完成的认证用户进行 非预期的个人信息或设定信息等某些状态更新。
7. 正则表达式验证邮箱格式?
var reg = /^(\w)+(\.\w+)*@(\w)+((\.\w{2,3}){1,3})$/; var email = "yjh@itlike.com"; console.log(reg.test(email)); // true
8. 正则表达式清除字符串前后的空格?
function trim(str) { if (str && typeof str === "string") { // 去除前后空白符 return str.replace(/(^\s*)|(\s*)$/g,""); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- js调用刷新界面的几种方式 2020-03-05
- 高性能JavaScript循环语句和条件语句 2020-02-21
- Javascript实现前端简单的路由实例 2019-12-17
- 带你了解JavaScript 2019-10-29
- Nightwatch——自动化测试(端对端e2e) 2019-08-14
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash