「干货分享」前端面试知识点锦集(JavaScript篇)

「干货分享」前端面试知识点锦集(JavaScript篇)

1、谈谈你对Ajax的理解?(概念、特点、作用)

AJAX全称为“AsynchronousJavaScript And XML”(异步JavaScript和XML)是指一种创建交互式网页应用的开发技术、改善用户体验,实现无刷新效果。

优点

  1. 不需要插件支持
  2. 优秀的用户体验
  3. 提高Web程序的性能
  4. 减轻服务器和带宽的负担

缺点

  1. 破坏浏览器“前进”、“后退”按钮的正常功能,可以通过简单的插件弥补
  2. 对搜索引擎的支持不足

2、说说你对延迟对象deferred的理解?

deferred对象是从jQuery1.5.0版本开始引入的一个新功能。

a、什么是deferred对象

开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。但是,在回调函数方面,jQuery的功能非常弱。为了改变这一点,jQuery开发团队就设计了deferred对象。简单说,deferred对象就是jQuery的回调函数解决方案。在英语中,defer的意思是”延迟”,所以deferred对象的含义就是”延迟”到未来某个点再执行。它解决了如何处理耗时操作的问题,对那些操作提供了更好的控制,以及统一的编程接口。

b、它的主要功能,可以归结为四点:

(1)、实现链式操作

(2)、指定同一操作的多个回调函数

(3)、为多个操作指定回调函数

(4)、普通操作的回调函数接口

3、什么是跨域,如何实现跨域访问?

跨域是指不同域名之间相互访问。JavaScript同源策略的限制,A域名下的JavaScript无法操作B或是C域名下的对象

「干货分享」前端面试知识点锦集(JavaScript篇)

实现:

  1. 、JSONP跨域:利用script脚本允许引用不同域下的js实现的,将回调方法带入服务器,返回结果时回调。

(2)、跨域资源共享(CORS)跨域资源共享(CORS)是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。

CORS与JSONP相比:

  1. JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。
  2. 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。
  3. JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS。

4、为什么要使用模板引擎?

a、模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。

b、在一些示例中javascript有大量的html字符串,html中有一些像onclick样的javascript,这样javascript中有html,html中有javascript,代码的偶合度很高,不便于修改与维护,使用模板引擎可以解决问题。

5、JavaScript是一门什么样的语言,它有哪些特点?

JavaScript是一种脚本语言,官方名称为ECMAScript(因定义语言的标准为ECMA-262)。JS的主要特点:a、语法类似于常见的高级语言,如C和Java;b、脚本语言,不需要编译就可以由解释器直接运行;c、变量松散定义,属于弱类型语言; d、面向对象的。JS最初是为网页设计而开发的,现在也是Web开发的重要语言。它支持对浏览器(浏览器对象模型,BOM)和HTML文档(文档对象模型,DOM)进行操作而使网页呈现动态的交互特性。严格的说,JS只是ECMAScript的一种实现,是ECMAScript和BOM、DOM组成的一种Web开发技术。

6、JavaScript的数据类型有哪些?

基本数据类型:字符串String、数字Number、布尔Boolean复合数据类型:数组Array、对象Object特殊数据类型:Null空对象、Undefined未定义

7、已知ID的Input输入框,如何获取这个输入框的输入值?(不使用第三方框架)

「干货分享」前端面试知识点锦集(JavaScript篇)

8、根据你的理解,请简述JavaScript脚本的执行原理?

JavaScript是一种动态、弱类型、基于原型的语言,通过浏览器可以直接执行。当浏览器遇到


分享到:


相關文章: