1. px和em的区别?

px和em都是长度单位;

区别是:
px的值是固定的,指定是多少就是多少,
计算比较容易。 em得值不是固定的,并且em会继承父级元素的字体大小。 浏览器的默认字体高都是16px;
所以未经调整的浏览器都符合: 1em=16px;
那么12px=.75em, 10px=.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:;可以消除间隙
<div class="demo">
<span>撩课itlike</span>
<span>撩课itlike</span>
<span>撩课itlike</span>
<span>撩课itlike</span>
</div>
.demo {font-size: ;}

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 <= ) { return arr; }
  var pivotIndex = Math.floor(arr.length / );
  var pivot = arr.splice(pivotIndex, )[];
  var left = [];
  var right = [];
  for (var i = ; 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{,}){,})$/;
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,"");
}
}

撩课-Web大前端每天5道面试题-Day10的更多相关文章

  1. 撩课-Web大前端每天5道面试题-Day4

    1. 如何实现瀑布流? 瀑布流布局的原理: ) 瀑布流布局要求要进行布置的元素等宽, 然后计算元素的宽度, 与浏览器宽度之比,得到需要布置的列数; ) 创建一个数组,长度为列数, 里面的值为已布置元素 ...

  2. 撩课-Web大前端每天5道面试题-Day1

    1. var的变量提升的底层原理是什么? JS引擎的工作方式是: 1) 先解析代码,获取所有被声明的变量: 2)然后在运行.也就是说分为预处理和执行两个阶段. 变量提升:所有变量的声明语句都会被提升到 ...

  3. 撩课-Web大前端每天5道面试题-Day11

    1. 如何手写一个JQ插件? 方式一: $.extend(src) 该方法就是将src合并到JQ的全局对象中去: $.extend({ log: ()=>{alert('撩课itLike');} ...

  4. 撩课-Web大前端每天5道面试题-Day31

    1.web storage和cookie的区别? Web Storage的概念和cookie相似, 区别是它是为了更大容量存储设计的. Cookie的大小是受限的, 并且每次你请求一个新的页面的时候C ...

  5. 撩课-Web大前端每天5道面试题-Day25

    1.web前端开发,如何提高页面性能优化? 内容方面: .减少 HTTP 请求 (Make Fewer HTTP Requests) .减少 DOM 元素数量 (Reduce the Number o ...

  6. 撩课-Web大前端每天5道面试题-Day7

    1. 你能描述一下渐进增强和优雅降级之间的不同吗? 定义: 优雅降级(graceful degradation): 一开始就构建站点的完整功能, 然后针对浏览器测试和修复 渐进增强(progressi ...

  7. 撩课-Web大前端每天5道面试题-Day30

    1.什么叫优雅降级和渐进增强? 优雅降级: Web站点在所有新式浏览器中都能正常工作, 如果用户使用的是老式浏览器, 则代码会针对旧版本的IE进行降级处理了, 使之在旧式浏览器上以某种形式降级体验却不 ...

  8. 撩课-Web大前端每天5道面试题-Day23

    1.为什么用Nodejs,它有哪些优缺点? 优点: 事件驱动,通过闭包很容易实现客户端的生命活期. 不用担心多线程,锁,并行计算的问题 V8引擎速度非常快 对于游戏来说,写一遍游戏逻辑代码,前端后端通 ...

  9. 撩课-Web大前端每天5道面试题-Day16

    1.for循环中的作用域问题? 写出以下代码输出值,尝试用es5和es6的方式进行改进输出循环中的i值. ; i<=; i++) { setTimeout(function timer() { ...

随机推荐

  1. Thread.sleep(1000)

    public class Wait { public static void main(String[] args) { System.out.println(System.currentTimeMi ...

  2. samba服务器的安装与配置(之前是因为没有把共享文件权限放开!)(windows7和centOS6)

    注:centOS6跟centOS7安装方法不一样哦.以下是centOS6的安装过程. 安装:yum -y install samba 启动:/etc/init.d/smb start 设置开机启动:c ...

  3. instanceof,isinstance,isAssignableFrom,asSubclass的区别

    1,isAssignableFrom():是字节码对象的方法 是用来判断一个类的字节码对象和另一个类的字节码对象是否相同或是子类或接口. assignable英 [ə,sainəbl]美 [ə,sai ...

  4. Mixnode 让操作网络资源和数据库一样简单,不一样的爬虫!

    简评: hacker news 上刷的一篇文章,可以使用类似操作数据库的方式访问网络上的资源,可以大大简化爬虫的代码. Mixnode 将网络变成了一个巨大的数据库!换句话说,Mixnode 允许您将 ...

  5. Springboot接口简单实现生成MySQL插入语句

    Springboot接口简单实现调用接口生成MySQL插入语句 在实际测试中,有这样一个需求场景,比如:在性能压力测试中,可能需要我们事先插入数据库中一些相关联的数据. 我们在实际测试中,遇到问题,需 ...

  6. C#-WebForm-★ASP.NET中的母版页★

    何为母版页,顾名思义母版就是模版,就像在PPT里面的板式或主题一样,大框架已经有了,我们的任务就是向里面添加具体的内容.这样我们制作的所有幻灯片的外观大体都是一样的. 在ASP.NET中母版页有两种作 ...

  7. 往word中插入美观的代码

    http://www.planetb.ca/syntax-highlight-word 选择需要的语言,然后Show Highlighted,复制跳转页面显示的代码至word即可

  8. Unity3D碰撞触发函数

    首先要给被碰撞物体添加Box Collider,并在Is Trigger打勾 在被碰撞物体的脚本里,添加碰撞检测函数 void OnTriggerEnter(Collider other) { if ...

  9. 我把双系统的win10抹除了现在开机只按option还是会出现双系统选择,怎么把那个win10给取消了或删除掉

    找到解决方法了,按步骤来吧,准备:[打开Finder如果你在侧边设备一栏里看不到 Macintosh HD 就打开Finder设置>边栏>勾选硬盘,如果能看到请无视这一行]1. 打开终端执 ...

  10. Jedis操作Redis--SortedSet类型 (会自然排序)

    /** * SortedSet(有序集合) * ZADD,ZCARD,ZCOUNT,ZINCRBY,ZRANGE,ZRANGEBYSCORE,ZRANK,ZREM,ZREMRANGEBYRANK,ZR ...