angularjs中常见的工具方法

来源:互联网 发布:艾默生网络能源 待遇 编辑:程序博客网 时间:2024/06/03 08:53

angular自身封装了一些很好用的方法,比如最常用的angular.clone()。总结了一些常用的方法,欢迎补充。

angular.clone()

用于深度复制对象

var cloneObj=angular.clone(obj);

angular.bind()

function show(){  alert(this+"调用了show")}var c=angular.bind("c",show);c();// C 调用了show

angular.noop()

一个不执行任何操作的空函数

var getResult = function (fn, val) {    //这里如果直接写为    //return fn(val);     //也不会出错,但如果传入的第一个参数为空,则会出错。  return (fn || angular.noop)(val);//这样写,如果传入的值不是函数,也不会出错};var firstResult = getResult(function(input){console.log(input);}, 3);//6var secondResult = getResult(null, 3);//undefinedvar thirdResult = getResult(undefined, 3);// undefined

angular.identity()

函数返回本身的第一个参数。

function getResult(fn, input) {    //其实我们可以直接这样写:    //return fn(input); 但这样写有个问题,如果传入的fn参数不是一个function类型,会导致出错。    //官方推荐的写法如下:  return (fn || angular.identity)(input);//这里如果fn参数为空值,使用angular.identity,那么当传入的第一个参数不是function类型时,相当于第一个参数是function(input){return input}};//等同于如下写法function getResult(fn, input) {  if(angular.isFunction(fn)){      return input;  }  return fn(input);};getResult(function(n) { return n * 2; }, 21);   // returns 42getResult(null, 21);                            // returns 21getResult(undefined, 21);                       // returns 21

angular.foreach()

和原生js里的foreach用法一样,用于循环遍历

angular.isDefined()

判断数据是否定义,返回一个布尔值

END

原创粉丝点击