angular函数组件简介

本人前段时间对angular进行了一定程度的了解,angular系列的博文就从本篇开始吧。本文就对其提供的函数组件做一个入门级的介绍。大部分文档直接翻译自官方文档:Function components in ng

阅读本文需要一定的jQuery基础。

在函数组件中,angular提供了许多方便使用的功能,下面我将按照官方文档的顺序一一做介绍。

angular.forEach

遍历数组或对象。功能类似jQuery.each。不同的是angular.forEach支持传入一个上下文作为第三个参数:angular.forEach(obj, iterator, [context]);

angular.extend

扩展对象。功能类似jQuery.extend,不过这里是个浅复制。

angular.merge

合并对象,深度合并,可以视为深复制。

angular.noop

空操作,即:function () {}

angular.identity

返回第一个参数本身,用于函数式编程。

angular.isUndefined

判断参数是否为undefined

angular.isDefined

判断参数是否被定义过,与angular.isUndefined的结果相反。

angular.isObject

判断参数是否为对象。

不同于typeofnull将被视为非对象,数组视为对象。

angular.isString

判断参数是否为字符串。

angular.isNumber

判断参数是否为数组,包括NaN+Infinity以及-Infinity

angular.isDate

判断参数是否是一个日期对象。

angular.isArray

Array.isArray的别名,判断是否为数组。

angular.isFunction

判断是否为函数。

angular.isElement

判断是否为DOM元素或者jQuery元素。

angular.copy

复制对象或数组,深复制。

angular.equals

判断两个参数是否相等。

符合以下条件之一的均视为相等:

  • 通过严格等于===的判断
  • 对象的类型一样并且其所有属性通过angular.equals判断均相等
  • 两者均为NaN
  • 两者为正则表达式,并且其表达式相等

angular.bind

对函数进行绑定对象。angular.bind的参数形式类似函数的call方法。

通常用于偏函数和柯里化。

angular.toJson

转为JSON风格的字符串。这个过程可以称之为序列化。

angular.fromJson

将一个JSON字符串还原,即反序列化。

angular.bootstrap

手动启动AngularJS的应用程序。

angular.reloadWithDebugInfo

以调试模式重载当前的应用程序。

angular.injector

注入器的声明与使用。详情可参阅:dependency injection

angular.element

jQuery风格包裹DOM元素或者HTML String。如果未引入jQuery,则采用angular自带的jqLite简化版。jqLite提供常见的jQuery API,可以满足大部分的情况。

angular.module

angular的核心,用于声明或者获取模块。

angular.errorHandlingConfig

错误处理的配置。


至此,angular自带的函数组件就梳理完毕了。更多详细的介绍,就请诸君自行查阅相关文档了。

接下来的空余时间里面,将会逐步针对angular里面的知识点做一个全面的介绍。

通常来说,本系列博文对应的angular的版本为1.6.x+


部分函数,诸如angular.lowercaseangular.uppercase已经被废弃,故此这里也不再列出。