前端开发面试题收集-JS篇

收集经典的前端开发面试题

setTimeout的时间定义为0有什么用?

  • javascript引擎是单线程处理任务的,它把任务放在队列中,不会同步执行,必须在完成一个任务后才开始另一个任务。
  • 由于setTimeout可以把任务从某个队列中跳出成为新队列,因此能够得到期望的结果。

怎么理解this

  • this指向的总是调用函数的那个对象。
  • this一般情况下,是全局对象Global。

什么是闭包

  • 闭包是一个概念,我的理解是函数里的函数,能够读取函数内部变量的函数。
  • 就是将函数内部和函数外部连接起来的一座桥梁。
  • 闭包是不被内存回收机制回收的。

“use strict”有什么作用?

  • 严格模式会抛出更多错误,从而发现潜在问题。
  • 会禁止某些不稳定的特性,例如去除with关键字,this不再默认指向全局等。

new操作符做了什么工作?

  • 创建了一个空对象,并且this变量引用此对象,同时继承了该函数的原型。
  • 属性和方法被加入到this引用的对象中。
  • 新创建的对象由this引用,并且最后返回this。

延迟加载JS的方式有哪些?

  • defer和async
  • 动态创建dom

原型继承的原理

  • 当查找一个对象的属性时,javascript会向上遍历原型链,直到找到给定名称的属性为止。

什么是AJAX

  • AJAX是指一种创建交互式网页应用的开发技术。
  • AJAX可以在无需刷新页面的情况下与发起与后端的请求。

什么是跨域,如何做到?

  • 基于安全考虑,浏览器只允许javascript访问相同域名下的文档。
  • 解决跨域都需要服务端配合。
  • JSONP
    • 创建一条script标签请求,并带上参数请求后端。
    • 后端根据相应的参数包装一个带所需数据的JS函数返回给前端。
    • 缺点是只能发出get请求,并难于确定请求是否成功。
  • web sockets
    • web sockets会发送一个http请求到后端,获取响应后协议会升级为 web socket协议,不受跨域限制。
    • 缺点是只有现代浏览器支持。
  • CORS
    • 后端在头信息中设置允许接收请求的域名即可。
    • 缺点是只有现代浏览器支持。

javascript继承有哪些方式?

  • 对象冒充
  • 原型链
  • call
  • apply

cookie是什么?都有哪些属性?

  • cookie是浏览器提供的一种机制,保存在用户硬盘上,可以在客户端与服务端之间传送。
  • 属性有:
    • expires 有效时间
    • path 能够读取cookie的顶级目录
    • domain 创建cookie所在网页所拥有的域名
    • secure 默认是false,如果为true,cookie的传输协议需要为https。

怎么添加、移除、移动、复制、创建和查找节点?

  • 添加:

    • append
    • prepend
    • after
    • before
  • 移除
    • remove
    • empty
  • 替换
    • replaceWith
    • replaceAll
  • 复制
    • clone
      创建
    • creatElement
    • createTextNode
      查找
    • getElementById
    • getElementsByTagName
    • getElementByName

前端开发面试题收集 JS的更多相关文章

  1. 前端开发面试题收集(js部分)

    1.问:js中"1"+2+"3"+4 运算结果是? 答: js中,字符串和数值相加,得到的还是字符串,这里的结果1234也是字符串. 2.问:4+3+2+&qu ...

  2. 前端开发面试题收集(html部分)

    1.问:<keygen>是正确的HTML5标签吗? 答:是. <keygen> 标签规定用于表单的密钥对生成器字段.当提交表单时,私钥存储在本地,公钥发送到服务器. 2.问:& ...

  3. 前端开发面试题收集(css部分)

    http://davidshariff.com/quiz/ 做了下这里面前端开发面试的题,发现有些不会,所以在此做个整理以供自己学习,参考,总结. 1.问: CSS属性是否区分大小写? ul { Ma ...

  4. 前端开发面试题收集 HTML

    Doctype是什么?说明特点. <!doctype>声明必须处于HTML文档的头部,在标签之前. <!doctype>声明不是一个HTML标签,是一个用于告诉浏览器使用哪种H ...

  5. 淘宝网前端开发面试题(二)--JS 面试题

    所有答案仅供参考,不负责答案对错(^_^) 1.js 是什么,js 和 html 的开发如何结合? js是javascript的缩写,是一种基于对象的.事件驱动的脚本语言.它一共由三个部分组成:分别是 ...

  6. 前端开发面试题收集 css

    什么是CSS盒子模型 页面上的每个元素都被浏览器看做是一个矩形的盒子. 由内容.填充.边框.边界组成. 什么是 css sprite 将多个图片拼接在一个图片中,通过background-positi ...

  7. 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题

    ##2017.10.30收集 面试技巧 5.1 面试形式 1)        一般而言,小公司做笔试题:大公司面谈项目经验:做地图的一定考算法 2)        面试官喜欢什么样的人 ü  技术好. ...

  8. 前端开发面试题-HTML(转载)

    本文由 本文的原作者markyun 收集总结了一些前端面试题,初学者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.万不可投机取巧,临时抱佛脚只求面试侥幸混过关是错误的! ...

  9. 前端开发面试题-JavaScript(转载)

    本文由 本文的原作者markyun 收集总结. 介绍js的基本数据类型. Undefined.Null.Boolean.Number.String. ECMAScript 2015 新增:Symbol ...

随机推荐

  1. java二维码之利用谷歌的zxing生成二维码,解析二维码

    生成二维码 @RequestMapping("/123") public void test(HttpServletRequest request,HttpServletRespo ...

  2. Composer配置中国镜像

    用法: 有两种方式启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置).见“例1” 将以下配置信息添加到你的项目的 composer.jso ...

  3. 【测试环境】java|jdk|ant

    很多文章都有写啊,我只是汇总一下:现在java已经是1.7+了,但是我们很多的时候开发环境还是在1.5.16左右,需要自己去配置: 0.为了方便切换测试环境,我们可以把jdk放到一个比较固定的位置.比 ...

  4. SQL Server 中可以被锁住的 12 种资源

    第1种: DB 整个数据库 第2种: file 数据库文件 第3种: table 第4种: hobt(堆)BTree(B树) 第5种: extent 一个区(8个8KB页面) 第6种: page 数据 ...

  5. MYSQL 的 6 个返回时间日期函数

    方法1. curdate(),curtime(),now() 方法2. utc_date(),utc_time(),utc_datetime(); 可以看到utc时间相比东西八区要小8小时 注意. 返 ...

  6. Oracle EBS-SQL (BOM-18):检查BOM与工艺路线对照.sql

    /*有工艺路线,无BOM清单*/ select msi.segment1, msi.description from apps.BOM_OPERATIONAL_ROUTINGS bor, apps.m ...

  7. Python中:self和__init__的含义 + 为何要有self和__init__

    Python中:self和__init__的含义 + 为何要有self和__init__ 背景 回复: 我写的一些Python教程,需要的可以看看 中SongShouJiong的提问: Python中 ...

  8. (十一)boost库之多线程间通信

    (十一)boost库之多线程间通信 1.互斥锁 在编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性.每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一 ...

  9. 伪造 UDP 包源 IP 地址

    Raw sockets 方式 raw socket 可通过参数  IPV6_HDRINCL 或 IP_HDRINCL 自定义IP头——伪造UDP报文源IP就全靠它了. 限制:从xp sp2之后的所有非 ...

  10. relay 2015-02-05 21:00 27人阅读 评论(0) 收藏

    scanf函数是以在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔,则可用空格,TAB或回车作间隔. C编译在碰到空格,TAB,回车或非法数据(如对"%d"输 ...