我正在處理一個應用程序,並且有幾個方法Angular沒有提供我覺得有用的東西。我創建了一個文件來用所需的方法擴展Angular,而不是創建一個實用程序服務並注入它(這對於簡單的jQuery-esque方法來說似乎很麻煩)。使用其他方法擴展Angular不好嗎?
所以,我堅持我的頭,問這是否是一個好主意?有沒有理由避免這種做法?
例如angular.extensions.js
// Angular has been previously loaded
;(function() {
angular.extend(angular, {
isEmptyObject: function(obj) {
var name;
for (name in obj) {
return false;
}
return true;
}
// etc. for simple helpers
})
})();
'return Object.keys(obj).length == 0;' – zerkms
@zerkms'jQuery'的'$ .isEmptyObject'函數使用類似於問題代碼的東西。不知道爲什麼,或許這是長度的誤判,或者這是一種表演。但他們可能有一個很好的迭代形式的理由。 –
不錯,我偷了我的例子從jQuery 2.0.3。我們能夠在我們的應用程序中支持ES5,所以@ zerkms的例子是一個改進。我想,jQuery沒有使用Object.keys的優點,或者不得不通過一些ES5功能檢測來擴展他們的方法。 – BradGreens