angularjs學習筆記—工具方法

angular.bind(self, fn, args)

  • 做用:返回一個新的函數,綁定這個函數的this指向self
  • 參數:

    • self:新函數的上下文對象
    • fn:須要綁定的函數
    • args:傳遞給函數的參數
  • 返回值:this指向self的新函數json

    var obj = {
        name: 'xxx',
        print: function (country) {
            console.log(this.name + ' is form ' + country);
        }
    };
    
    var self = {
        name: 'yyy'
    };
    
    
    var bindFn = angular.bind(self, obj.print, 'China');
    //var bindFn = angular.bind(self, obj.print, ['China']);
    
    obj.print('American'); //$ xxx is form American
    bindFn(); //$ yyy is form China

注意:bind會根據你的參數類型來決定調用call或apply,因此args能夠是一個個數據,也能夠是一個數組哦。數組

angular.copy(source, [destination])

  • 做用:對象的深拷貝
  • 參數:

    • source:源對象
    • destination:拷貝的對象
  • 返回值:拷貝的對象app

    var obj = {
        name: 'xxx',
        age: 50
    };
    
    
    var copyObj = angular.copy(obj);
    
    console.log(copyObj); //$ Object {name: "xxx", age: 50}

angular.equals(o1, o2)

  • 做用:正常比較和對象的深比較
  • 參數:

    • o1:比較的對象
    • o2:比較的對象
  • 返回值:booleanide

    angular.equals(3, 3); //$ true
    angular.equals(NaN,NaN); //$ true
    angular.equals({name:'xxx'},{name:'xxx'}); //$ true
    angular.equals({name:'xxx'},{name:'yyy'}); //$ false

angular.extend(dst, src)

  • 做用:對象的拓展
  • 參數:

    • dst:拓展的對象
    • src:源對象
  • 返回值:拓展的對象函數

    var dst = {name: 'xxx', country: 'China'};
    var src = {name: 'yyy', age: 10};
    
    angular.extend(dst, src);
    
    console.log(src); //$ Object {name: "yyy", age: 10}
    console.log(dst); //$ Object {name: "yyy", country: "China", age: 10}

angular.forEach(obj, iterator, [context])

  • 做用:對象的遍歷
  • 參數:

    • obj:對象
    • iterator:迭代函數
    • context:迭代函數中上下文
  • 返回值:objoop

    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

angular.fromJson(string)

  • 做用:字符串轉json對象
  • 參數:

    • string:字符串
  • 返回值:json對象this

    var json = angular.fromJson('{"name":"xxx","age":34}');
    
    console.log(json); //$ Object {name: "xxx", age: 34}

angular.toJson(json,pretty)

  • 做用:json對象轉字符串
  • 參數:

    • json:json
    • pretty:boolean number 控制字符串輸出格式
  • 返回值:字符串code

    angular.toJson({name:'xxx'});
    //$ "{"name":"xxx"}"
    
    angular.toJson({name:'xxx'},true);
    //$ "{
    //$    "name": "xxx"
    //$ }"
    
    angular.toJson({name:'xxx'},10);
    //$ "{
    //$            "name": "xxx"
    //$ }"

angular.identity(value)

  • 做用:返回這個函數的第一個參數
  • 參數:

    • value:參數
  • 返回值:第一個參數orm

    console.log(angular.identity('xxx','yyy')); //$ xxx

angular.isArray(value)

  • 做用:判斷一個數據是不是數組
  • 參數:

    • value:數據
  • 返回值:boolean對象

    angular.isArray(3); //$ false
    angular.isArray([]); //$ true
    angular.isArray([1, 2, 3]); //$ true
    angular.isArray({name: 'xxx'}); //$ false

angular.isDate(value)

  • 做用:判斷一個數據是不是Date類型
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isDate('2012-12-02'); //$ false
    angular.isDate(new Date()); //$ true

angular.isDefined(value)

  • 做用:判斷一個數據是不是defined類型
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isDefined(undefined) //$ false
    angular.isDefined([]); //$ true

angular.isUndefined(value)

  • 做用:判斷一個數據是不是undefined類型
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isUndefined(undefined) //$ true
    angular.isUndefined([]); //$ false

angular.isFunction(value)

  • 做用:判斷一個數據是不是函數
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isFunction(function(){}); //$ true
    angular.isFunction(3); //$ false

angular.isNumber(value)

  • 做用:判斷一個數據是不是Number類型
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isNumber(4); //$ true
    angular.isNumber('xxx'); //$ false
    angular.isNumber(new Number(4)); //$ false
    angular.isNumber(Number(4)); //$ true

angular.isObject(value)

  • 做用:判斷一個數據是不是對象
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isObject('xxx'); //$ false      
    angular.isObject(null); //$ false
    angular.isObject([]); //$ true
    angular.isObject(function(){}); //$ false
    angular.isObject({name:'xxx'}); //$ true

angular.isString(value)

  • 做用:判斷一個數據是不是字符串
  • 參數:

    • value:數據
  • 返回值:boolean

    angular.isString(4); //$ false
    angular.isString('xxx'); //$ true
    angular.isString(new String('xxx')); //$ false
    angular.isString(String('xxx')); //$ true

angular.lowercase(string)

  • 做用:將字符串大寫字母變小寫
  • 參數:

    • string:字符串
  • 返回值:改變後的新字符串

    var newString = angular.lowercase('XXyyZZ');
    console.log(newString); //$ xxyyzz

angular.uppercase(string)

  • 做用:將字符串小寫字母變大寫
  • 參數:

    • string:字符串
  • 返回值:改變後的新字符串

    var newString = angular.uppercase('XXyyZZ');
    console.log(newString); //$ XXYYZZ

angular.noop()

  • 做用:空函數

    var flag = false;    
    flag ? console.log('xxx') : angular.noop();
相關文章
相關標籤/搜索