前面说过在angularJs
中使用 angular.module() 法可创建一个angularJs
模块。除此之外,angularJs
还提供了一些工具方法供我们使用。
angular.isArray() //判断传入的参数是不是数组,是则返回true 否则返回false angular.isDate() //判断传入的参数是不是时间对象,是则返回true,否则返回false angular.isFunction() //判断传入的参数是不是函数,是则返回true,否则返回false angular.isNumber() //判断传入的参数是不是数字,是则返回true,否则返回false angular.isObject() //判断传入的参数是不是对象,是则返回true,否则返回false angular.isString() //判断传入的参数是不是字符串,是则返回true,否则返回false
需要注意的是,对数组使用 angular.isObject() 方法也会返回 true 。
以上是一些基本类型的判断,除此之外还有一些补充类型的判断,例如:
angular.isDefined() //判断传入的值有没有被定义过 angular.isUndefined() //判断传入的值是不是没有被定义过
除了undefined
之外的类型都是defined
类型,所以在 angular.isDefined() 方法中传入数组,对象,字符串,数值,null都会返回true
,传入undefined
则会返回false
。 angular.isUndefined() 方法则刚好相反,如下所示:
var a; //undefined angular.isDefined(a); //false angular.isDefined(undefined); //false
angular.isElement() //判断传入的值是不是元素,包含DOM对象和jQuery对象
angular.isElement(1); //false angular.isElement("str"); //false angular.isElement(document.body); //true angular.isElement($(document.body)); //true
angular.copy() //对象的深拷贝,接受两个参数,第一个是源对象,第二个是目标对象,返回拷贝的对象
var obj1 = {name:"suliang"}; var obj2 = {name:"zhangsan"}; angular.copy(obj1,obj2); console.log(obj2); //{name:"suliang"}
angular.equals() //正常比较和对象的深比较,返回boolean值
angular.equals(3,3); //true angular.equals(NaN,NaN); //true angular.equals({name:"suliang"},{name:"suliang"}); //true angular.equals([1,2],[1,2]); //true
angular.extend() //对象的拓展,返回拓展的对象
var obj1 = {name:"suliang"}; var obj2 = {name:"zhangsan",age:25}; angular.extend(obj1,obj2); console.log(obj1); //{name:"suliang",age:25} console.log(obj2); //{name:"zhangsan",age:25}
angular.forEach() //对象或数组的遍历,接受3个参数,第3个参数是函数上下文,如下所示:
var obj = {name:"suliang",age:25}; var str = ""; angular.forEach(obj,function(v,k){ str+=k+":"+v+"-"; },str) console.log(str); //name:suliang-age:25-
两个JSON有关的方法
angular.fromJson() //字符串转JSON对象 angular.toJson() //JSON对象转字符串
两个转换字符串大小写方法
angular.lowercase() //大写转小写 angular.uppercase() //小写转大写
时间: 2024-11-05 13:39:04