文章图片
下面列出了最常见的Backbone.js面试问题和答案。
1)解释Backbone.js?
Backbone.js是基于JavaScript的轻量级框架。它用于开发在Web浏览器上运行的客户端应用程序。在Backbone.js中开发客户端应用程序非常容易, 并且消耗的时间更少。它支持Model-View-Controller体系结构。
2)Backbone.js用哪种语言编写?
骨架.js是用JavaScript编写的。它是一个JavaScript库, 其中包含RESTful JSON接口。
3)Backbone.js的发布时间和发布者是谁?
Backbone.js最初于2010年10月13日由Jeremy Ashkenas发布。
4)哪个是Backbone.js的最新稳定版本, 其发布日期是什么?
Backbone.js的最新稳定版本是1.3.3, 它于2016年4月5日发布。
5)Backbone.js的主要组件是什么?
Backbone.js的主要组件:
- 模型-它对数据执行各种类型的操作, 例如验证, 转换, 计算的属性, 访问控制。
- 视图-它指定数据的外观。
- 收集-它负责将新模型加载和保存到服务器。
- 路由器-用于路由客户端应用程序并将它们连接到操作和事件。
- 事件类对象-通过使用我们选择的所需名称, 它便于对象绑定和触发自定义事件。
Backbone.js支持Model-View-Controller体系结构, 该体系结构允许开发人员将业务逻辑和GUI逻辑分开。
- 模型:它由数据和从服务器检索数据的逻辑组成。
- 视图:它由负责最终用户界面的代码组成, 即, 将应用程序呈现给用户的方式。
- 控制器:它是控制应用程序行为的主要应用程序逻辑。它是代码的一部分, 充当了模型和视图之间的桥梁。
文章图片
7)什么时候需要Backbone.js?
在以下情况下需要Backbone.js:
- 在开发需要大量JavaScript的Web应用程序时。
- 如果你的应用程序需要可伸缩性, 则当你希望为代码提供结构时, 这是必需的。
- 当Web应用程序必须使用jQuery遍历DOM或提供动画时, Backbone很有用。
- 当模型更改并且你要自动更新HTML应用程序时。
集合可以定义为模块的有序集合。在Backbone.js中, 有一个收集类, 提供了一些有用的方法来处理这些收集。我们可以扩展集合类以提供一些其他功能。例如:
<
script type="text/javascript">
//The model 'MyTeam' includes default values andextended using the Backbone.Model class
var MyTeam = Backbone.Model.extend({
defaults: {
player: "Dhyanchand", country: "India"
}, });
//'MyTeam1' is an instance of the collection
var MyTeam1 = Backbone.Collection.extend({
model: MyTeam//model 'MyTeam' is specified for a collection by overriding the 'model' property
});
//The collection 'MyTeam1' is instantiated by using new keyword
var myval=new MyTeam1({});
//The JSON.stringify() method returns values of collection in the JSON format
document.write("The values in the collection are: ", JSON.stringify(myval));
<
/script>
9)设置Backbone.js需要三个js文件?
以下是设置Backbone.js所需的三个js文件:
- jQuery的
- 骨干
- 下划线
Backbone.js路由器用于将应用程序的URL路由到某些特定的操作和事件。每个定义的路由器必须至少存在一条路由。当Web应用程序提供可链接的, 可书签的和可共享的URL时, 它还定义了应用程序对象的URL表示形式。
<
script type="text/javascript">
var RouteMenu = Backbone.View.extend({
el: '#routemenu', //'el' defines which element to be used as the view reference
events: {
'click a' : 'onClick'
}, onClick: function( e ) {
router.navigate('/');
}
});
var Router = Backbone.Router.extend({
routes: {
'route/:id' : 'defaultRoute'
}, });
var routemenu = new RouteMenu();
Backbone.history.start();
<
/script>
11)描述骨干事件?
Backbone.js事件可以定义为可以与任何对象混合的模块。以下是用于处理Backbone.js事件的方法,
- on-将事件绑定到对象, 并在触发事件时执行回调。
- off-从对象中删除回调函数或所有事件。
- 触发器-调用给定事件的回调函数。
- 一次-在创建你自己的骨干模型时扩展了骨干模型类。
- listenTo-通知一个对象侦听另一个对象上的事件。
- stopListening-可用于停止侦听其他对象上的事件。
- listenToOnce-导致侦听器仅在删除回调函数之前发生一次。
视图是Backbone.js体系结构的重要组成部分。在Backbone.js应用程序中, 视图负责最终用户界面。该视图定义了应用程序查看用户的方式。视图还负责侦听事件并做出相应的反应。
<
script type="text/javascript">
var ViewDemo = Backbone.View.extend({initialize:function(){
document.write('srcmini is the best online tutorial website for all techologies.');
}
});
var myview = new ViewDemo();
<
/script>
13)Backbone.js中的Modelbinder是什么?
Model Binder是一个类, 用于将模型和视图绑定在一起。完成绑定以存档同步。
14)是否提到了Model Binder最强大的功能?
模型绑定程序的一些最强大的功能是
- 使用J-Query创建绑定时, 它允许开发人员定义范围。
- 在某些情况下, 我们可以依赖基于HTML的name属性的默认作用域规则。
- 如果视图很复杂, 可以重新定义作用域规则。
Backbone.js的优点:
- 你可以使用JavaScript, 并使用最少的数据结构(模型和集合)和用户界面(视图和URL)来使用Backbone.js开发Web应用程序。
- 最好以组织化和结构化的方式开发诸如Web应用程序, 单页Web应用程序或复杂的JavaScript Web应用程序之类的MVC, 而无需将JavaScript代码与HTML混合。
- 它为API提供了许多功能。
- 它提供键值绑定和自定义事件。
- 它有助于你将数据抽象到模型中, 将DOM应用程序抽象到视图中, 并使用事件将两者绑定在一起。
Converter是用于将JavaScript对象转换为模型的函数。当在HTML元素和模型的属性之间进行转换时, 将调用它。
17)Backbone.js中的同步是什么?
同步是每次都会调用的功能。它尝试读取模型或将模型保存到服务器。它将模型的状态持久保存到服务器。
18)Backbone.js中的实用程序有哪些方法?
可以使用两种方法来操作Backbone.js实用程序:
- Backbone.noConflict:它将Backbone对象返回其原始值, 并提供了一种存储对主干的引用的工具。它可用于将主干网嵌入到你不想破坏现有主干网的第三方网站上。
- Backbone。$:当页面上有多个jQuery副本或想要告诉Backbone使用特定对象作为其DOM / Ajax库时, 将使用此属性。
解除绑定功能用于删除模型上的绑定。
20)Backbone.js中有哪些可用的配置选项?
Backbone.js中提供以下配置选项。
- modelSetOptions
- boundAttributes
- 投掷
- 转换器
- 改变触发器
- InitialCopyDirection
从服务器响应获取或存储操作而返回的数据称为解析。它通过传递到响应对象中来返回模型的数据。
<
script type="text/javascript">
var myData =http://www.srcmini.com/{"values": [{
"fname": "Ratan", "lname": "Tata", "country": "India"
}]
};
var Person= Backbone.Model.extend({
parse : function(response, options){
document.write(JSON.stringify(response));
}
});
var person = new Person(myData, {parse: true});
<
/script>
22)setElement的功能是什么?
Backbone.js setElement方法用于将主干视图应用于其他DOM元素。例如:
<
script type="text/javascript">
var ViewDemo = Backbone.View.extend({events: {
'change input': 'sayHi'
}, initialize: function() {
this.setElement($('#myview'));
}, sayHi: function() {
document.write('srcmini: A solution of all technology...');
}
});
var viewdemo = new ViewDemo;
<
/script>
Java OOP面试问题 |
Java字符串和异常问题 |
JDBC面试问题 |
JSP面试问题 |
休眠面试问题 |
SQL面试题 |
Android面试题 |
MySQL面试问题 |
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题
【不容错过的Backbone.js面试题大合集】SQL Server面试问题
推荐阅读
- 微信密码忘了怎样办?微信怎样找到密码?_微信
- 别错过哦!Node.js面试题和答案合集
- 必备!最新AJAX面试题汇总
- 别错过哦!Angular面试题和答案汇总
- 史上最全!Angular 7面试题及其最佳答案
- 史上最全RPA面试题和答案整理
- 总结常见jQuery面试题和答案推荐合集
- 史上最全JavaScript面试题和答案大合集
- 推荐哦!Talend面试题和答案汇总详解