標籤:
前面說過在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; //undefinedangular.isDefined(a); //falseangular.isDefined(undefined); //false
angular.isElement() //判斷傳入的值是不是元素,包含DOM對象和jQuery對象
angular.isElement(1); //falseangular.isElement("str"); //falseangular.isElement(document.body); //trueangular.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); //trueangular.equals(NaN,NaN); //trueangular.equals({name:"suliang"},{name:"suliang"}); //trueangular.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() //小寫轉大寫
angularJs中的常用工具方法