zoukankan      html  css  js  c++  java
  • AngularJs angular.identity和angular.noop

    angular.identity

    函数返回本身的第一个参数。这个函数一般用于函数风格。

    格式:angular.identity()   

    使用代码:

      (function () {
        angular.module("Demo", [])
        .controller("testCtrl", testCtrl);
        function testCtrl() {
             var getResult = function (fn, val) {
              return (fn || angular.identity)(val);
          };
          var result = getResult(function (n) { return n * 2; }, 3); //  result = 6
          var null_result = getResult(null, 3);//  null_result = 3
          var undefined_result = getResult(undefined, 3);// undefined _result = 3
        };
      }())

    angular.noop

    一个不执行任何操作的空函数。这个函数一般用于函数风格。

    格式:angular.noop();

    贴代码:

      (function () {
        angular.module("Demo", [])
        .controller("testCtrl", testCtrl);
        function testCtrl() {
          var _console = function (v) {
              return v * 2;
          };
          var getResult = function (fn, val) {
              return (fn || angular.noop)(val);
          };
          var firstResult = getResult(_console, 3);//6
          var secondResult = getResult(null, 3);//undefined
          var thirdResult = getResult(undefined, 3);// undefined
        };
      }())

    这两个api的也是有点醉,总的来说呢,这两个方法都是用来写函数的时候用的,根据上面写的demo的代码及运行结果来看,感觉他们的作用是用来防止函数传入的是null或者undefined或者其他不能操作的对象。因为如果去掉这两个后,你在函数调用的时候传入null/undefined/或者其他不能执行的对象,那么控制台是直接报错的...

  • 相关阅读:
    FactoryBean的作用
    ztree点击文字勾选checkbox,radio实现方法
    js判断字符长度 汉字算两个字符
    双系统引导修复
    thinkpadT440p
    分布式服务器集群
    Eclipse插件安装方式
    用SourceTree轻巧Git项目图解
    廖雪峰git使用完整教程
    hessian
  • 原文地址:https://www.cnblogs.com/ys-ys/p/4922086.html
Copyright © 2011-2022 走看看