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