• AngularJS 工具函数


    angular.bind(self, fn, args)

    • 作用:返回一个新的函数,绑定这个函数的this指向self
    • 参数:

      • self:新函数的上下文对象
      • fn:需要绑定的函数
      • args:传递给函数的参数
    • 返回值:this指向self的新函数

      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

    angular.copy(source, [destination])

    • 作用:对象的深拷贝
    • 参数:

      • source:源对象
      • destination:拷贝的对象
    • 返回值:拷贝的对象

      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:比较的对象
    • 返回值:boolean

      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:迭代函数中上下文
    • 返回值: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
      

    angular.fromJson(string)

    • 作用:字符串转json对象
    • 参数:

      • string:字符串
    • 返回值:json对象

      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 控制字符串输出格式
    • 返回值:字符串

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

    angular.identity(value)

    • 作用:返回这个函数的第一个参数
    • 参数:

      • value:参数
    • 返回值:第一个参数

      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();
  • 相关阅读:
    stack, deque 和 queue的对比
    Android 修改圆形progressBar颜色
    java.lang.OutOfMemoryError: Failed to allocate a 3110419 byte allocation with 741152 free bytes and
    Android GreenDAO 3.0 不修改版本号的情况下增加、删除表、添加字段
    Android监听安装卸载
    Android实现异步的几种方法
    Android GreenDao清空数据库的方法
    Android 6.0 动态权限申请
    Android无需权限显示悬浮窗
    Android 极光推送JPush---自定义提示音
  • 原文地址:https://www.cnblogs.com/zion0707/p/4803916.html
Copyright © 2020-2023  润新知