25 个最热门的 Backbone.js 面试问题及答案
以下是 Backbone.js 面试问题和答案,适合应届毕业生和有经验的求职者,以帮助他们获得理想的工作。
1)解释一下什么是backbone.js?
Backbone.js 是一个 JavaScript 客户端(前端)框架,它有助于组织代码并简化单页应用程序的开发。它允许您以 MVC(模型、视图、控制器)方式构建 JavaScript 代码。
- 型号: 它是代码的一部分,用于填充和检索数据
- 视图: 它是 HTML 这个模型的表示
- 控制器: 它使你能够通过 hashbang URl 保存你的 javascript 应用程序
2)Backbone.js的主要组件是什么?
Backbone.js 的主要组件是
- 型号
- 首页
- 购物
- 路由器
- 事件类对象
3)解释什么是 Backbone.js 集合?
有序的模型集由 Backbone.js 集合表示。模型中的任何事件都会直接触发集合中的事件。例如,您可以绑定“change”事件,以便在集合中的任何模型被修改时收到通知。
4)解释一下 Backbone.js 路由器用于什么?
每当应用程序想要更改其 URL 片段以便为某个 阿贾克斯 重度应用,使用 backbone.js 路由器。
5)什么是 Backbone 事件?
Backbone 事件是一个可以混入任何对象的模块,使对象能够绑定和触发自定义命名事件。事件在绑定到任何对象之前无需声明。事件反映了模型的状态。
6)Backbone的重点是什么?
- 它与 underscore.js 有很强的依赖性,使其更具功能性,并支持一系列有用的基于集合的操作
- 通过 jQuery的 它具有软依赖性
- 当模型发生变化时,它可以自动更新应用程序的 HTML
- 它使用客户端渲染框架或 Javascript 模板来渲染 HTML,避免你在 JavaScript 代码中嵌入 HTML 代码
- 对于 UI 更新和 DOM 操作,它提供了一种非常干净优雅的方式
7) 为什么要使用 Backbone?有什么优势?
- 通过使用 JavaScript 和最少的数据结构(模型和集合)以及用户界面(视图和 URL),您可以开发 Web 应用程序
- Backbone 最适合以有组织、有结构的方式开发类似 MVC 的 Web 应用程序、单页 Web 应用程序或复杂的 JavaScript Web 应用程序,而无需将 JavaScript 代码与 HTML 混合
- 提供键值绑定和自定义事件
- API 具有大量功能
- 强大的事件处理
- 通过 RESTful 进行 API 连接 JSON 接口
8)设置骨干工作环境需要哪三个 js 文件?
你需要以下三个 js 文件来设置骨干的工作环境
- jQuery的
- 骨干
- 下划线
在您的应用程序中,将这些文件放在 js 文件夹中,并在 index.html 页面中使用它
9)解释一下何时需要 Backbone.js?
以下情况需要 Backbone.js
- 开发需要大量 JavaScript 的 Web 应用程序时
- 如果你的应用程序需要可扩展,那么当你想为你的代码提供结构时,它是必需的
- 当 Web 应用程序必须使用 jQuery 遍历 DOM 或提供动画时,Backbone 非常有用
10)解释一下 Backbone.js 中的视图是什么?
Backbone 视图是一个管理特定 DOM 元素及其后代的 Javascript 对象。
- 视图不是 HTML
- 这是一个模型的描述
- HTML 代码来自模板
- 适用于任何模板系统
11)解释什么是 Backbone.js 模型?
Backbone.js 模型是 backbone.js 的对象和核心。它包含一个 排列 属性并监听事件。为了表示您的数据,Backbone 提供了一个 模型对象。例如,您有一个 做清单,你将有一个模型来代表列表上的每个项目。
12)解释一下如何使用 backbone.js 创建多页面 Web 应用程序?
对于 backbone.js 中的多页面 web 应用,有很多注意事项,但以下两个可能有用
- 提供页面服务: 在此,您希望您的 Web 服务器将所有内容路由到服务器路由所有内容以提供相同的静态页面。这意味着 http://guru99.com/* 中的所有内容都将提供 /var/www/guru99.com/index.html。一旦静态页面加载完毕,该页面上的 JS 将根据 url 决定要做什么
- 推送状态: 您仍然可以使用骨干路由进行路由,但不要使用 hashbang。这样您就可以导航到 URL,而无需实际刷新页面。
13)解释一下 Backbone.js 中的 Modelbinder 是什么?
为了使视图和模型的同步过程结合在一起,使用了 ModelBinder 类。
14)ModelBinder 最强大的功能是什么?
ModelBinder 类最强大的功能是它使您能够在使用 jQuery 创建绑定时定义范围。
- 如果您的视图很简单,您可以依赖基于 html“name”属性的默认范围规则。
- 如果您的视图很复杂,您可以使用 jQuery 选择器定义范围。
15)解释一下 Backbone.js 中的 Converter 是什么?
当模型的属性被复制到 html 元素或 html 元素值被复制到模型的属性时,会调用一个函数,这个函数在 Backbone.js 中被称为 Converter
16)什么是 model.attributes?
属性是包含模型状态的内部哈希,通常是一种 JSON 对象形式,表示服务器上的模型数据。它通常是数据库中一行数据的直接序列化
17)toJSON 的作用是什么?
它返回模型属性的浅表副本以进行 JSON 字符串化。此函数用于持久化、序列化和在发送到服务器之前进行扩充。这不会返回 JSON 字符串
18)解释一下何时可以在 Backbone.js 中使用解除绑定函数?
当你想删除模型或所有模型上的验证绑定,删除集合上所有绑定的事件时,可以使用解除绑定函数。例如: Backbone.Validation.解除绑定(视图) [这将删除验证绑定]
19)有哪些可用的配置选项?
可用的配置选项包括
- 初始拷贝方向
- 模型设置选项
- 改变触发器
- boundAttribute
- 抑制抛出
- 变流器
20) 请提及您在使用 Backbone 视图代码时可能遇到的典型问题是什么?
- 应用程序模型不会经常改变
- 应用程序页面经常从服务器刷新
- 不同视图模型之间不共享
21)逃生功能的作用是什么?
它从模型中获取属性的当前值,但返回模型属性的 HTML 转义版本。如果您将模型中的数据插入到 HTML 中,它有助于防止 XSS 攻击
22)解释一下parse的作用是什么?
每当服务器返回模型的数据时,在获取和保存时,该数据被称为 解析。 每当服务器返回集合的模型时,Backbone 都会调用它。
23)Backbone.sync 用于什么?
当 Backbone 想要保存或读取模型到服务器时,它会调用一个名为 Backbone.sync 的函数。
24)在 Backbone View 中,setElement 有什么用?
当 Backbone 视图必须应用于不同的 DOM 元素时,使用 setElement 函数。
25)解释什么是model.cid?
Model.cid 用作唯一标识符。它是模型的一个特殊属性,cid 或客户端 ID 在首次创建时会自动分配给所有模型。当模型未保存到服务器但需要在 UI 中可见时,此属性很有用。它从 c1、c2 中获取……这些面试问题也会对您的口试有所帮助