前端基础搬运工-Angular和React模块

2019-04-25  本文已影响0人  我家媳妇蠢蠢哒

十一、Angular和React模块

基础部分

1. angularJS是什么?

   答:

   -[ ] AngularJS是一个JavaScript 框架。它可通过 <script> 标签添加到 HTML 页面。

        AngularJS通过指令扩展了 HTML,且通过表达式绑定数据到HTML

2. angularJS中的MVVM模式

   答:

   -[ ]采用这种方式为合理组织代码提供了方便,降低了代码间的耦合度,功能结构清晰可见。

        Model:一般用来处理数据,包括读取和设置数据,一般指的是操作数据库。

        View:一般用来展示数据,就是放数据,比如通过HTML来展示。

        Controller:因为一个模块里面可能有多个视图和模型,控制器就起到了连接模型和视图的

        作用。

        VM--> ViewModel(视图模型)也就是$scope。

        MVC模式在AngularJS 中的体现:

        一、首先定义应用,采用ng-app属性指定一个应用,表示此标签内所包裹的内容都属于

        APP的一部分。

3. 模块化与依赖注入

   答:

   -[ ] AngularJS模块:

        AngularJS模块是一种容器,把代码隔离并组织成简洁,整齐,可复用的块。

        模块本身不提供直接的功能:包含其他提供功能的对象的实例:控制器,过滤器,服务,动

        画。可通过定义其提供的对象构建模块。通过依赖注入将模块连接在一起,构建一个完整的

        应用程序。

        AngularJS建立在模块原理上。大部分 AngularJS 提供的功能都内置到ng-*模块中。

        创建模块:

        你可以通过 AngularJS 的 angular.module 函数来创建模块:

        var app = angular.module("myApp", []);

        依赖注入:(Dependency

Injection,简称 DI)是一种软件设计模式,在这种模式下,一

        个或更多的依赖(或服务)被注入(或者通过引用传递)到一个独立的对象(或客户端)中,

        然后成为了该客户端状态的一部分。

        该模式分离了客户端依赖本身行为的创建,这使得程序设计变得松耦合,并遵循了依赖反转

        和单一职责原则。与服务定位器模式形成直接对比的是,它允许客户端了解客户端如何使用

        该系统找到依赖

        一句话,没事你不要来找我,有事我会去找你。

        AngularJS提供很好的依赖注入机制。以下 5个核心组件用来作为依赖注入:value、

        factory、service、provider、constant

4. ReactJS的适用场景

   答:

   -[ ]一些后台界面,或者是和后台数据比较多,又或者和用户交互比较多,dom 操作频繁的

        都可以用 react。因为 react 的大特点就是虚拟DOM 技术,这样可以提高渲染的性能。个

        人的体验就是,用 react可以让整个页面的速度提高很多。

        另外这样做的话,和后台的数据通过接口来进行前后端分离,也挺好挺方便的

5. ReactJS是什么

   答:

   -[ ] React是一个用于构建用户界面的 JAVASCRIPT 库。

        React主要用于构建 UI,很多人认为 React 是 MVC 中的 V(视图)。

        React起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于 2013 年 5 月

        开源。

        React拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

6. ReactJs 的特点

   答:

   -[ ] 1.声明式设计−React 采用声明范式,可以轻松描述应用。

        2.高效−React通过对 DOM 的模拟,最大限度地减少与 DOM 的交互。

        3.灵活−React可以与已知的库或框架很好地配合。

        4. JSX− JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。

        1.组件−通过React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。

        1.单向响应的数据流− React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

7. react Native比起标准Web开发或原生开发能够带来的三大好处

   答:

   -[ ] 1.手势识别:基于Web 技术(HTML5/JavaScript)构建的移动应用经常被抱怨缺乏及时响应。而基于原生 UI的React Native能避免这些问题从而实现实时响应。

        1.原生组件:使用 HTML5/JavaScript实现的组件比起原生组件总是让人感觉差一截,而React Native 由于采用了原生UI组件自然没有此问题。

        1.样式和布局:iOS、Android 和基于Web 的应用各自有不同的样式和布局机制。React Native 通过一个基于 FlexBox的布局引擎在所有移动平台上实现了一致的跨平台样式和布局方案。

8.

实际工作部分

1. 看过Angular的源码吗,它是怎么实现双向数据绑定的?

   答:

   - [ ] angular对常用的dom事件, xhr事件等做了封装,在里面触发进入angular的digest 流程。在digest 流程里面,会从 rootscope 开始遍历,检查所有的watcher

2. 为什么angular不推荐使用dom操作?

   答:

   -[ ] Angular倡导以测试驱动开发,在的 service 或者 controller 中出现了DOM 操作,那么也就意味着的测试是无法通过的使用 Angular 的其中一个好处是啥,那就是双向数据绑定,这样就能专注于处理业务逻辑,无需关系一堆堆的 DOM 操作。如果在 Angular 的代码中还到处充斥着各种 DOM操作,那为什么不直接使用jquery 去开发呢。

3. MVC模式的意思是,软件可以分成三个部分?

   答:

   -[ ]视图(View):用户界面。

        控制器(Controller):业务逻辑

        模型(Model):数据保存

4. 各部分之间的通信方式是什么?

   答:

   -[ ] View传送指令到Controller

        Controller完成业务逻辑后,要求 Model改变状态

         Model将新的数据发送到 View,用户得到反馈

上一篇下一篇

猜你喜欢

热点阅读