App 软件开发《单选2》试卷及答案解析(订正)

App 软件开发《单选2》试卷及答案解析(订正)

注:本文章部分答案及解析来自 ChatGPT 的回答,正确性请自行甄辨。(这玩意儿经常一本正经的胡说八道)

文章目录

一、订正

4. B -> D

10. B -> D

13. D -> B

14. B -> A

20. D -> B

29. D -> C

二、单选题(共计0分)

1.AngularJS中,ng-repeat指令可以遍历哪些内容(B

  • A、数值
  • B、数组
  • C、字符串
  • D、以上都不对

答案:B、数组

解释:ng-repeat指令用于遍历数组,并在每个元素上重复一个HTML模板。

2.AngularJS中,使用ng-repeat指令时,模板实例的索引是指(C

  • A、index属性
  • B、first属性
  • C、$index属性
  • D、$first属性

答案:C、$index属性

解释:在ng-repeat中,可以使用$index属性来获取当前模板实例的索引值。

3.下列选项中,有关AngularJS自定义指令的参数的说法错误的是(D

  • A、template取值为String类型时,template可以是一段HTML。
  • B、template的值可以是一个函数。
  • C、templateUrl取值为String类型时,该值为一个模板的URL。
  • D、templateUrl不能取值为函数。

答案:D、templateUrl不能取值为函数。

解释:templateUrl可以取值为一个字符串类型的URL,也可以取值为一个返回URL的函数。

4.AngularJS自定义指令的约束中,restrict参数取值为M时,指令以那种方式被使用(D

  • A、<my-directive></my-directive>
  • B、<div my-directive=“expression”></div>
  • C、<div class=“my-directive:expression;”></div>
  • D、 <–directive:my-directive expression–>

restrict 值可以是以下几种:

  • E 作为元素名使用
  • A 作为属性使用
  • C 作为类名使用
  • M 作为注释使用

restrict 默认值为 EA, 即可以通过元素名和属性名来调用指令。

5.下列选项中,有关AngularJS指令作用域说法错误的是(D

  • A、每个AngularJS指令都有自己的作用域。
  • B、自定义指令可以通过在return返回的对象中添加参数scope来实现作用域的设置。
  • C、scope:true代表指令在有其他作用域的情况也会创建一个新的作用域。
  • D、scope:true代表独立作用域。

答案:D、scope:true代表独立作用域。

解释:scope:true代表指令创建一个新的作用域,但该作用域仍与父作用域共享一些属性。

6.与MVC相比,AngularJS的架构模式更接近于(D

  • A、MVP
  • B、MVV
  • C、MVM
  • D、MVVM

答案:D、MVVM

解释:AngularJS的架构模式更接近于MVVM(Model-View-ViewModel)。

7.在AngularJS中,哪两个部分实现了双向绑定(A

  • A、Model和ViewModel
  • B、Model和View
  • C、Model和Controller
  • D、Controller和$scope

答案:A、Model和ViewModel

解释:双向绑定是通过将Model和ViewModel进行绑定来实现的。

8.AngularJS的启动流程中,$injector的作用是(A

  • A、$injector是注入器,AngularJS对象都需要依赖$injector才能被其他代码使用。
  • B、$injector是启动事件。
  • C、$injector用于渲染页面。
  • D、$injector用于确定程序边界。

答案:A、injector是注入器,AngularJS对象都需要依赖injector才能被其他代码使用。

解释:$injector是AngularJS的注入器,用于管理和提供依赖注入。

9.AngularJS的启动流程中,路由服务的Provider会在哪个阶段初始化(C

  • A、加载angular.js文件。
  • B、启动AngularJS代码。
  • C、配置$injector(注入器)。
  • D、渲染页面。

答案:C、配置$injector(注入器)。

解释:路由服务的Provider在配置$injector(注入器)阶段进行初始化。

10.下列选项中,说法正确的是(D

  • A、Event Queue中的事件被触发后,事件的回调函数会通过$scope.$apply(fn)函数进入到AngularJS Context中”。
  • B、$scope.$apply(fn)函数的参数fn代表要在AngularJS Context中执行的事件回调函数或者表达式。
  • C、AngularJS中,fn()函数被执行后,将调用$digest()函数进入$digest Loop中。
  • D、处在javaScript Context中的操作能使用AngularJS的data-binding(数据绑定)。

11.下列选项中,用于为脏检查机制注册监听器的是(C

  • A、$digest
  • B、$apply()
  • C、$watch
  • D、$scope

答案:C、$watch

解释:$watch用于注册监听器,以便在脏检查期间跟踪模型的变化。

12.下列选项中,有关依赖注入的说法错误的是(A

  • A、依赖注入仅仅是一种设计思想。
  • B、依赖注入能够有效解决模块间依赖的问题。
  • C、依赖注入是控制反转的一种实现形式。
  • D、依赖注入可以解决代码耦合的问题。

答案:A、依赖注入仅仅是一种设计思想。

解释:依赖注入不仅是一种设计思想,也是一种具体的实现方式。

13.下列选项中,不属于AngularJS依赖注入方式的是(B

  • A、行内式注入声明
  • B、行外式注入声明
  • C、显式注入声明
  • D、推断式注入声明

依赖注入有三种方式进行注入:推断式注入声明,显式注入声明,行内注入声明:

  • 推断式注入声明:如果没有明确的声明, AngularJS会假定参数名称就是依赖的名称。请注意,这个过程只适用于未经过压缩和混淆的代码,因为AngularJS需要原始未经压缩的参数列表来进行解析。当AngularJS实例化这个模块时,会查找greeter并自然而然地把对它的引用传递进去.

  • 显式注入声明 ($inject):AngularJS提供了显式的方法来明确定义一个函数在被调用时需要用到的依赖关系。通过这种方法声明依赖,即使在源代码被压缩、参数名称发生改变的情况下依然能够正常工作。

  • 行内注入声明:AngularJS提供的注入声明的最后一种方式,是可以随时使用的行内注入声明。允许我们在函数定义时从行内将参数传入。此外,它可以避免在定义过程中使用临时变量。它同前面提到的通过$inject属性进行注入声明的原理是完全一样的

14.下列选项中,哪种方式是最推荐的AngularJS依赖注入方式的是(A

  • A、行内式注入声明
  • B、行外式注入声明
  • C、显式注入声明
  • D、推断式注入声明

15.下列选项中,有关AngularJS服务说法错误的是(C

  • A、多个控制器中出现了相同的代码,那么便可以把它提取出来,封装成一个服务。
  • B、服务可以通过依赖注入的方式被使用。
  • C、服务可以在module()函数的参数中被注入。
  • D、使用服务可以达到代码复用的目的。

答案:C、服务可以在module()函数的参数中被注入。

解释:服务不是在module()函数的参数中注入的,而是在控制器或其他服务中通过依赖注入的方式使用。

16.下列选项中,使用一个对象工厂函数定义服务的方式是(B

  • A、使用provider()函数创建服务。
  • B、 使用factory()函数创建服务
  • C、使用 apply()函数创建服务。
  • D、使用value()函数创建服务。

答案:B、使用factory()函数创建服务

解释:使用factory()函数可以创建一个对象工厂函数定义的服务。

17.下列选项中,支持配置的AngularJS服务创建方式是(A

  • A、使用provider()函数创建服务。
  • B、使用factory()函数创建服务
  • C、使用service()函数创建服务。
  • D、使用value()函数创建服务。

答案:A、使用provider()函数创建服务。

解释:使用provider()函数可以创建一个支持配置的AngularJS服务。

18.下列选项中,使用一个具有$get()的构造函数定义服务的方式是(A

  • A、使用provider()函数创建服务。
  • B、使用factory()函数创建服务
  • C、使用apply()函数创建服务。
  • D、使用value()函数创建服务。

答案:A、使用provider()函数创建服务。

解释:使用provider()函数可以创建一个具有$get()构造函数的服务。

19.如果AngularJS中定义的服务为myService,那么该服务的提供者名称为(C

  • A、myService
  • B、$myService
  • C、myServiceProvider
  • D、serviceProvider

答案:C、myServiceProvider

解释:AngularJS中的服务提供者名称通常为服务名称加上"Provider"后缀。

20.在AngularJS服务里面当我们仅仅需要的是一个函数和数据的集合,而不需要处理复杂的业务逻辑的时候应使用哪种方式创建服务(B

  • A、使用provider()函数创建服务。
  • B、使用factory()函数创建服务
  • C、使用service()函数创建服务。
  • D、使用value()函数创建服务。

在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用。

AngularJS 内建了30 多个服务。

有个 $location 服务,它可以返回当前页面的 URL 地址。

21.下列选项中,使用一个类构造函数定义服务,通过new关键字创建服务实例的方式是(C

  • A、使用provider()函数创建服务。
  • B、使用factory()函数创建服务
  • C、使用service()函数创建服务。
  • D、使用value()函数创建服务。

答案:C、使用service()函数创建服务。

解释:使用service()函数可以创建一个类构造函数定义的服务。

22.下列选项中,有关AngularJS中value()函数的说法错误的是(D

  • A、使用value()函数可以创建一个AngularJS服务。
  • B、value()函数的第1个参数表示服务名称。
  • C、value()函数的第2个参数表示需要注册的变量值或对象。
  • D、value()函数的第3个参数表示要注入到该服务的内容。

答案:D、value()函数的第3个参数表示要注入到该服务的内容。

解释:value()函数的第3个参数并不表示要注入到该服务的内容。

23.下列选项中,用于注入原生JavaScript代码中的document文档对象的服务是(B

  • A、document
  • B、 $document
  • C、 $$document
  • D、 $$$document

答案:B、$document

解释:$document是AngularJS中用于注入原生JavaScript代码中的document文档对象的服务。

24.$location服务中用于获取当前完整的URL路径的函数是(B

  • A、allUrl()
  • B、 absUrl()
  • C、url()
  • D、 path()

答案:B、absUrl()

解释:absUrl()函数用于获取当前完整的URL路径。

25.$location服务中用于获取URL中的主机域名或者IP地址的函数是(A

  • A、host()
  • B、 port()
  • C、url()
  • D、 path()

答案:A、host()

解释:host()函数用于获取URL中的主机域名或者IP地址。

26.$location服务中用于获取当前URL路径(包括参数和哈希值)的函数是(C

  • A、allUrl()
  • B、 absUrl()
  • C、url()
  • D、 path()

答案:C、url()

解释:url()函数用于获取当前URL路径(包括参数和哈希值)。

27.$location服务中用于获取当前URL的参数的序列化JSON对象的函数是(A

  • A、search()
  • B、 protocol()
  • C、url()
  • D、 path()

答案:A、search()

解释:search()函数用于获取当前URL的参数的序列化JSON对象。

28.$location服务中用于获取当前路径的端口号的函数是(B

  • A、host()
  • B、 port()
  • C、url()
  • D、 path()

答案:B、port()

解释:port()函数用于获取当前路径的端口号。

29.AngularJS中用来定义路由规则的服务是(C

  • A、$window
  • B、$location
  • C、$routeProvider
  • D、$locationProvider
  • $window对象可以用来获取浏览器窗口各项属性(如窗口高度宽度、浏览器版本等等)

  • $location服务分析浏览器地址栏中的URL(基于window.location),让我们可以在应用中较为方便地使用URL里面的内容。在地址栏中更改URL,会响应到$location服务中,而在$location中修改URL,也会响应到地址栏中。

  • 【参考】$routeProvider.when 函数的第一个参数是 URL 或者 URL 正则规则,第二个参数为路由配置对象。
    路由配置对象语法规则如下:

$routeProvider.when(url, {
    template: string,
    templateUrl: string,
    controller: string, function 或 array,
    controllerAs: string,
    redirectTo: string, function,
    resolve: object<key, function>
});
  • $locationProvider 略

30.AngularJS中用来配置路由规则的函数是(B

  • A、$apply()
  • B、config()
  • C、$disgest
  • D、$watch()

答案:B、config()

解释:config()函数用来配置路由规则。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值