angular.copy(source, [destination])
- 作用: 對象的深度拷貝
- 參數(shù):
- source: 原對象
- destination:被拷貝的對象(可選參數(shù))
- 返回值: 拷貝后的對象
angular.extend(dst, src)
- 作用: 對象的拓展
- 參數(shù):
- dst: 拓展的對象
- src: 源對象
- 返回值: 拓展的對象
使用示例:
https://jsfiddle.net/ioneway100072/bdpg45o6/
區(qū)別:
- copy函數(shù)的dstination參數(shù)可以省略雌团,而extend的dst不可以省略
- copy是深度拷貝,而extend是淺拷貝.
- copy和extend的參數(shù)dst 與 src的位置相反庐杨。
相同點:
- copy 與 extend 都會返回dst對象昔字。
---------------------------------------------
angular.isDefined(value)
- 作用:判斷一個數(shù)據(jù)是否是defined類型
- 參數(shù):
- value: 數(shù)據(jù)
- 返回值:boolean
angular.isDefined(undefined) //false
angular.isDefined([]) //true
angular.isFunction(value)
- 作用: 判斷一個數(shù)據(jù)是否是函數(shù)
- 參數(shù):
- value: 數(shù)據(jù)
- 返回值:boolean
angular.isFunction(function(){ }); //true
angular.isFunction(3); //false
angular.isNumber(value)
- 作用:判斷一個數(shù)據(jù)是否是Number類型
- 參數(shù):
- value: 數(shù)據(jù)
- 返回值: boolean
angular.isNumber(4);
angular.isNumber('xxx');
angular.isNumber(new Number(4)); //false //原因詳查
angular.isNumber(Number(4)); // true
angular.lowercase(string)
- 作用:將字符串大寫字母變小寫
- 參數(shù):
- string: 字符串
- 返回值: 改變后的新字符串
var newString = angular.lowercase('XYyyZZ');
console.log(newString);
angular.uppercase(string)
- 作用: 將字符串小寫字母變大寫
- 參數(shù):
- string: 字符串
- 返回值: 改變后的新字符串
var newString = angular.upercase('XYyyZz');
console.log(newString);
angualr.fromJson(string)
- 作用: 字符串轉json對象
- 參數(shù):
- string: 字符串 - 返回值: json對象
var json = angular.fromJson('{"name":"xxx", "age":34}');
console.log(json);
angular.toJson(json)
- 作用: json對象轉字符串
- 參數(shù):
- json: json
- pretty: boolean number 控制字符串輸出格式 - 返回值: 字符串
angular.toJson({name: 'xxx'});
// "{'name': 'xxx'}"
angular.identity(value)
- 作用: 返回這個函數(shù)的第一個參數(shù)
- 參數(shù):
- value:參數(shù)
- 返回值: 第一個參數(shù)
一般用于函數(shù)風格
使用見:
console.log(angular.identity('xxx', 'yyy')); //xxx
angular.noop()
- 作用: 空函數(shù)
使用見:
var flag = false;
flag ? console.log('xxx') : angular.noop();
angular.isArray(value)
- 作用: 判斷一個數(shù)據(jù)是否是數(shù)組
- 參數(shù):
- value: 數(shù)據(jù)
- 返回值: boolean
angular.isArray(3);
angular.isArray([]); //true
angular.isDate(value)
- 作用: 判斷一個數(shù)據(jù)是否是Date 類型
- 參數(shù):
- value: 數(shù)據(jù) - 返回值: boolean
angular.isDate('2012-12-02'); //fale
angular.isDate(new Date()); //true
angular.isDefined(value)
- 作用: 判斷一個數(shù)據(jù)是否是defined類型
- 參數(shù):
- value: 數(shù)據(jù)
- 返回值: boolean
angular.equals(o1, o2)
- 作用: 正常比較和對象深比較
- 參數(shù):
- o1: 比較的對象
- o2: 比較的對象
- 返回值: boolean
angular.equals(3, 3); //true
angular.equals(NaN, NaN); //true 不同與 "=="
angular.equals({name:'xxx'}, {name:'xxx'}); //true
angular.equals({name:'xxx'}, {name:'yyy'});
angular.forEach(obj, iterator, [context])
- 作用:對象的遍歷
- 參數(shù):
- obj: 對象
- iterator: 迭代函數(shù)
- context: 迭代函數(shù)中上下文
- 返回值: obj
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);
//$ 0:xxx form China
//$ 1:yyy form China