1. 请用至少3中方式实现数组去重?

方法一: indexOf

var arr1=[,,,,,,,,];
function repeat1(arr){
for(var i=,arr2=[];i<arr.length;i++){
if(arr2.indexOf(arr[i])==-){
arr2.push(arr[i]);
}
}
return arr2;
} 方法二: hash function repeat2(arr){
// 1. 遍历arr中每个元素,同时声明hash
for(var i=,hash={};i<arr.length;i++){
// hash中是否包含当前元素值的建
// 如果不包含,就hash添加一个新元素,
// 以当前元素值为key,value默认为1
if(hash[arr[i]]===undefined){
hash[arr[i]]=;
}
}
// 2. 将hash转为索引
var i=;
var arr2=[];
for(arr2[i++] in hash);
return arr2;
} 方法三: 正则 function repeat3(arr){
return arr.sort()
.join(",,")
.replace(
/(^|,,)([^,]+)(,,\)*/g,
"$1$2")
.split(",,");
}
console.log(repeat3(arr1));

2. HTTP状态码及其含义?

1XX:信息状态码
Continue 继续,一般在发送post请求时,
已发送了http header之后服务端将返回此信息,
表示确认,之后发送具体参数信息; 2XX:成功状态码
OK 正常返回信息
Created 请求成功并且服务器创建了新的资源
Accepted 服务器已接受请求,但尚未处理 3XX:重定向
Moved Permanently 请求的网页已永久移动到新位置。
Found 临时性重定向。
See Other 临时性重定向,且总是使用 GET 请求新的 URI。
Not Modified 自从上次请求后,请求的网页未修改过。 4XX:客户端错误
Bad Request 服务器无法理解请求的格式,
客户端不应当尝试再次使用相同的内容发起请求。
Unauthorized 请求未授权。
Forbidden 禁止访问。
Not Found 找不到如何与 URI 相匹配的资源。 5XX: 服务器错误
Internal Server Error 最常见的服务器端错误。
Service Unavailable 服务器端暂时无法处理请求
(可能是过载或维护)。

3. html5有哪些新特性、移除了那些元素?

HTML5 现在已经不是 SGML 的子集,
主要是关于图像,位置,存储,多任务等功能的增加:
) 绘画标签canvas;
) 用于媒介回放的 video 和 audio 元素;
) 本地离线存储 localStorage 长期存储数据,
浏览器关闭后数据不丢失;
) sessionStorage 的数据在浏览器关闭后自动删除;
) 语意化更好的内容元素,
比如article、footer、header、nav、section;
) 表单控件,calendar、date、time、email、url、search;
) webworker, websocket, Geolocation; 移除的元素:
) 纯表现的元素:basefont,big,center,font, s,strike,tt,...
) 对可用性产生负面影响的元素:frame,frameset,noframes

4. display: none;与visibility: hidden;的区别?

相同点:它们都能让元素不可见

不同点:
display:none;会让元素完全从渲染树中消失,
渲染的时候不占据任何空间; visibility: hidden;不会让元素从渲染树消失,
渲染师元素继续占据空间,只是内容不可见; display: none;是非继承属性,
子孙节点消失由于元素从渲染树消失造成,
通过修改子孙节点属性无法显示; visibility: hidden;是继承属性,
子孙节点消失由于继承了hidden,
通过设置visibility: visible;可以让子孙节点显示; 修改常规流中元素的display通常会造成文档重排。
修改visibility属性只会造成本元素的重绘。 读屏器不会读取display: none;元素内容;
会读取visibility: hidden;元素内容

5. 如何解决跨域问题?

) jsonp
) iframe
) window.name
) window.postMessage
) 服务器上设置代理页面

6. XML和JSON的区别?

) 数据体积方面
JSON相对于XML来讲,
数据的体积小,传递的速度更快些。 ) 数据交互方面
JSON与JavaScript的交互更加方便,
更容易解析处理,更好的数据交互。 ) 数据描述方面;
JSON对数据的描述性比XML较差。 ) 传输速度方面:
JSON的速度要远远快于XML。

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

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

    1. px和em的区别? px和em都是长度单位; 区别是: px的值是固定的,指定是多少就是多少, 计算比较容易. em得值不是固定的,并且em会继承父级元素的字体大小. 浏览器的默认字体高都是16 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. forword和重定向有什么区别?

    一.forword 1.请求只能从同一个web中转发,当前应用之外的找不到. 2.地址栏不变. 3.共享request对象,请求链不断. 4.永久性跳转,最常用. 5.客户端方法功能跳转 二.重定向 ...

  2. 常见的HTTP请求应答返回码列表

        200      OK 请求成功.一般用于GET与POST请求 300 Multiple Choices 多种选择.请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例 ...

  3. springboot 使用itextpdf 框架实现多个图片合成一个pdf文件

    以下两个方法引入头 import com.lowagie.text.*; import com.lowagie.text.pdf.PdfWriter; import org.apache.pdfbox ...

  4. day 08 课后作业

    # -*- coding: utf-8 -*-# @Time : 2018/12/27 17:27# @Author : Endless-cloud# @Site : # @File : day 8课 ...

  5. 调用jdbc已经写成的方法----jdbc工具类抽取方式二

    先创建db.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/web08?useUnicode=true& ...

  6. 递归实现进制转换(C++版)

    上次呢,我们留下了一道题,今天我们来一起看一看: 题目链接:https://www.cnblogs.com/gaozirong/p/10547434.html 这是我写的程序,大家可以对照参考一下(C ...

  7. 3.1 High Availability

    摘要: 出处:黑洞中的奇点 的博客 http://www.cnblogs.com/kelvin19840813/ 您的支持是对博主最大的鼓励,感谢您的认真阅读.本文版权归作者所有,欢迎转载,但请保留该 ...

  8. 图的基础---关键路径理解和实现(Java)

    引言 之前所说的拓扑排序是为了解决一个工程能否顺利进行的问题.但在生活中,我们还会经常遇到如何解决工程完成需要的最短时间问题.     举个例子,我们需要制作一台汽车,我们需要先造各种各样的零件,然后 ...

  9. commonjs, nodejs, npm, browserify, watchify

    CommonJS CommonJS是一套规范,定义了javascript API.其中为了解决javascript模块化的问题,引入require和export NodeJS nodeJS是服务器端j ...

  10. jQuery 获取元素当前位置offset()与position()

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...