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/或者其他不能執行的對象,那么控制台是直接報錯的...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM