3 全局函数和属性
全局函数和属性判断对象类型的函数API描述angular.isArray(value)如果引用的是数组返回 trueangular.isDate(value)如果引用的是日期返回 trueangular.isDefined(value)如果引用的已定义返回 trueangular.isElement(value)...
·
全局函数和属性
判断对象类型的函数
API | 描述 |
---|---|
angular.isArray(value) | 如果引用的是数组返回 true |
angular.isDate(value) | 如果引用的是日期返回 true |
angular.isDefined(value) | 如果引用的已定义返回 true |
angular.isElement(value) | 如果引用的是 DOM 元素返回 true |
angular.isFunction(value) | 如果引用的是函数返回 true |
angular.isNumber(value) | 如果引用的是数字返回 true |
angular.isObject(value) | 如果引用的是对象返回 true |
angular.isString(value) | 如果引用的是字符串返回 true |
angular.isUndefined(value) | 如果引用的未定义返回 true |
数据转换函数
API | 描述 |
---|---|
angular.lowercase(string) | 将字符串转换为小写 |
angular.uppercase(string) | 将字符串转换为大写 |
angular.copy(source, [destination]) | 数组或对象深度拷贝 |
angular.extend(dst, src) | 通过从src对象复制所有属性到dst来扩展目标对象dst。你可以指定多个src对象。 |
angular.forEach(obj, iterator, [context]) | 对象或数组的迭代函数 |
angular.equals(o1,o2) | 如果两个对象相等返回 true |
angular.fromJson(json) | 反序列化 JSON 字符串 |
angular.toJson(obj,[pretty]) | 序列化 JSON 字符串。pretty如果设为true,JSON输出会包含换行和空格。 |
angular.equals()注意点:
如果两个对象或值满足下列任一种情况就认为是相等的:
两个对象或值通过了===比较。
- 两个对象或值是相同类型,并且它们所有属性都用angular.equals比较后相等。
- 两个值为NaN (在JavaScript中, NaN == NaN结果为false。但是我们这里认定两个NaN是相等的)。
两个值为相同的正则表达式(在JavaScript中, /abc/ == /abc/结果为false。但是我们这里认定两个正则表达式的文本形式相同时为相等)。
在属性比较时,Function类型的属性和名称以$开始的属性会被忽略,不做比较。
Scope和DOMWindow对象只能使用===比较。
angular.copy()示例:
<div ng-controller="ExampleController">
<form novalidate class="simple-form">
Name: <input Type="text" ng-model="user.name" /><br />
E-mail: <input Type="email" ng-model="user.email" /><br />
Gender: <input Type="radio" ng-model="user.gender" value="male" />male
<input Type="radio" ng-model="user.gender" value="female" />female<br />
<button ng-click="reset()">RESET</button>
<button ng-click="update(user)">SAVE</button>
</form>
<pre>form = {{user | json}}</pre>
<pre>master = {{master | json}}</pre>
</div>
<script>
angular.module('copyExample')
.controller('ExampleController', ['$scope', Function($scope) {
$scope.master= {};
$scope.update = Function(user) {
// Example with 1 argument
$scope.master= angular.copy(user);
};
$scope.reset = Function() {
// Example with 2 arguments
angular.copy($scope.master, $scope.user);
};
$scope.reset();
}]);
</script>
其他
API | 描述 |
---|---|
angular.bootstrap((element, [modules], [config]) | 手动启动 AngularJS,返回这个应用新创建的注入器。 |
angular.element(element) | 封装一个原始DOM元素或HTML字符串为一个 jQuery 元素。 |
angular.module(name, [requires], [configFn]) | 创建,注册或检索 AngularJS 模块 |
angular.injector(modules); | 创建一个注入函数,用于通过依赖注入的方式获取服务 |
angular.bind(self, fn, args) | 返回将调用函数fn绑定到self的函数 (self成为fn的this )。你可以提供可选的 args预绑定到函数。此功能也被称为 partial application(偏函数应用),区别于 function currying(函数加里化)。 |
angular.identity | 一个函数返回它的第一个参数。这个函数在使用函数风格写代码时很有用。 |
angular.noop | 一个执行空操作的函数。这个函数在使用函数风格写代码时很有用。 |
function transformer(transformationFn, value) {
return (transformationFn || angular.identity)(value);
};
function foo(callback) {
var result = calculateResult();
(callback || angular.noop)(result);
}
var self = { name: 'boyi' };
//示例1--带参数
var f = angular.bind(self, //绑定对象,作为函数的上下文
//被绑定的函数
function (age) {
alert(this.name + ' is ' + age + ' !');
},
//绑定的参数,可省略
'15'
);
f();//调用绑定之后的function
// boyi is 15 !
//示例2--不带参数
var m = angular.bind(self, //绑定对象,作为函数的上下文
//被绑定的函数
function (age) {
alert(this.name + ' is ' + age + ' !');
}
//省略参数
);
m(3);//调用传参的函数
// boyi is 3 !
angular.version
angular.version是包含当前AngularJS版本信息的对象。这个对象有以下属性:
- full – {string} – 完整的版本字符串,如”0.9.18”。
- major – {number} – 主版本号,如”0”。
- minor – {number} – 次版本号,如”9”。
- dot – {number} – 小版本号,如”18”.
- codeName – {string} – 发行的代码名称,如”jiggling-armfat”。
<body ng-app="myApp" ng-controller="myCtrl">
{{ version }}
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $rootScope) {
$scope.version = angular.version;
});
</script>
</body>
更多推荐
已为社区贡献4条内容
所有评论(0)