angularJs的工具方法
angularJs的工具方法
1.angular.iaArray()
返回true;
2. angular.iaElement()
支持判断JQ获取到的对象
3.angular.equals(a,b)
判断两个参数是否相等;
var a=2; var b=2; console.log(angular.equals(a,b));//true var c=[]; var d=[]; console.log(angular.equals(c,d));//true var c=[1,2]; var d=[1]; console.log(angular.equals(c,d));//false var e=NaN; var f=NaN; console.log(angular.equals(e,f));//true
4.angular.forEach()
遍历
var arr = [1,4,5]; angular.forEach(arr,function(val,index){ console.log(val);//遍历到的值 console.log(index);//下标 }); var objs={"name":"names","age":"18"} angular.forEach(objs,function(val,key){ console.log(val);//遍历到的属性值 console.log(key);//遍历到的属性名称 }); var objs={"name1":"张三","age1":"18","name2":"李四","age2":"19"}; var obj2={"key":[],"val":[]}; angular.forEach(objs,function(val,key){ console.log(val);//遍历到的属性值 console.log(key);//遍历到的属性名称 this.key.push(key);//this指向obj2 this.val.push(val); },obj2); console.log(obj2);
// Object {key: Array[4], val: Array[4]} // key:Array[4] // 0:"name1" // 1:"age1" // 2:"name2" // 3:"age2" // // val:Array[4] // 0:"张三" // 1:"18" // 2:"李四" // 3:"19"
5. angular.fromJson() angular.toJson()
6.angular.identity()
该函数的作用:返回的值为传入的参数;
angular.noop();返回值为undefined;实际上是一个空函数;
这两个函数一般用做默认操作。
7.大小写转换
angular.lowercase(); 转换成小写
angular.uppercase();转换成大写
8.angular.element()
此时如果引入jquery,angular内部视为angular.element ===$;
上述代码可以写为$(“oDiv”).css(‘background’,’red’);
9.angular.bind();
10.angular.copy();拷贝对象
angular.copy(source, [destination]);
如果省略了destination,一个新的对象或数组将会被创建出来;如果提供了destination,则source对象中的所有元素和属性都会被复制到destination中;如果source不是对象或数组(例如是null或undefined), 则返回source;如果source和destination类型不一致,则会抛出异常。
参数名称 |
参数类型 |
描述 |
source |
* |
被copy的对象. 可以使任意类型, 包括null和undefined. |
destination (optional) |
Object||array |
copy去的目的地. 可以省略, 如果不省略, 其必须和source是同类 |
var a = {name:'kitty',age:18}; var b = a;//浅拷贝 b.age = 20; console.log(a.age,b.age);//20 20 var c = {name:'kitty',age:18}; var d = angular.copy(a);//深拷贝 d.age = 20; console.log(c.age,d.age);//18 20
浅拷贝:仅仅复制对象的引用,而不是对象本身,改变任何一个的属性值,另一个都会跟着改变;
深拷贝:把复制的对象所引用的全部对象都复制一遍,两个互相不受影响;
此处补充一点js对象深拷贝方法:
var newArr = []; var arr = [ { name: "xxx", age: 22 }, { name: "yyy", age: 21 }, { name: "zzz", age: 23 }, { name: "www", age: 24 } ]; $.each(arr, function (i, e) { var obj = {}; $.each(e, function (k, v) { obj[k] = v; }); newArr.push(obj); });
11.angular.extend();对象聚合
var a = {'x': '123'}; var b = {'xx': '456'}; angular.extend(b, a); console.log(b);//{'x': '123','xx': '456'}
12.angular.bootstarp();
初始化模块
多次初始化调用