1、angular.equals:
(1)两个参数满足===比较返回true;(2)两个参数是同一种类型,同时他们的每一个属性通过angular.equals都是返回true;(3)两个都是NAN(在js中虽然NAN==NAN为false,但是这里为true);(4)两个对象代表同一个正则表达式,如/abc/==/abc/(虽然在js中返回false)
2、angular.copy:
创建来源source的一个深度克隆对象,可以是一个对象或者数组。如果没有指定destination那么就会返回一个object或者array的副本;如果destination为一个对象,那么首先会删除这个对象上面所有的属性然后把来源source的属性拷贝到上面;如果来源source不是一个对象或者数组那么返回来源source本身(如null/undefined)
3、angular.extend(dst, src):
用于扩展dst对象,把src中可以枚举的属性全部封装到dst对象上面。你可以指定多个src对象用于扩展dst对象,当然你也可以指定目标对象为一个空对象,var object = angular.extend({}, object1, object2)。注意:这个方法不支持深度克隆
4、angular.forEach:
var obj = {name: 'xxx', country: 'China'};
angular.forEach(obj, function (value, key) {
console.log(key + ':' + value);
}); //$ name:xxx //$ country:China var array = ['xxx', 'yyy'];
angular.forEach(array, function (item, index) {
console.log(index + ':' + item + ' form ' + this.country);
}, obj);
这个方法和jQuery的$.each方法具有相似的签名,这个方法如果传入了第三个参数就是绑定了函数中的this指向
5、angular.fromJson(string):
var json = angular.fromJson('{"name":"xxx","age":34}');
console.log(json); //$ Object {name: "xxx", age: 34}
其内部还是使用的JSON.parse来完成的:
function fromJson(json) {
return isString(json)
? JSON.parse(json) : json;
}
6、angular.toJson(json,pretty):
用于把一个json对象转化为JSON字符串,其内部还是使用了JSON.Stringify完成的,第二个参数表示是否美化输出字符串
7、angular.isArray:用于判断参数是否为一个数组