AngularJS
Wbudowane funkcje pomocnicze
Szukaj…
angular.equals
Funkcja angular.equals
porównuje i określa, czy 2 obiekty lub wartości są równe, angular.equals
dokonuje głębokiego porównania i zwraca wartość true tylko wtedy, gdy spełniony jest przynajmniej jeden z poniższych warunków.
angular.equals (wartość1, wartość2)
- Jeśli obiekty lub wartości przejdą porównanie
===
- Jeśli oba obiekty lub wartości są tego samego typu, a wszystkie ich właściwości są równe przy użyciu
angular.equals
- Obie wartości są równe
NaN
- Obie wartości reprezentują ten sam wynik wyrażenia regularnego.
Ta funkcja jest przydatna, gdy trzeba głęboko porównać obiekty lub tablice według ich wartości lub wyników, a nie tylko odniesień.
Przykłady
angular.equals(1, 1) // true
angular.equals(1, 2) // false
angular.equals({}, {}) // true, note that {}==={} is false
angular.equals({a: 1}, {a: 1}) // true
angular.equals({a: 1}, {a: 2}) // false
angular.equals(NaN, NaN) // true
angular.isString
Funkcja angular.isString
zwraca wartość true, jeśli obiekt lub podana jej wartość jest typu string
angular.isString (wartość1)
Przykłady
angular.isString("hello") // true
angular.isString([1, 2]) // false
angular.isString(42) // false
Jest to odpowiednik działania
typeof someValue === "string"
angular.isArray
Funkcja angular.isArray
zwraca wartość true wtedy i tylko wtedy, gdy przekazany do niej obiekt lub wartość jest typu Array
.
angular.isArray (wartość)
Przykłady
angular.isArray([]) // true
angular.isArray([2, 3]) // true
angular.isArray({}) // false
angular.isArray(17) // false
Jest to odpowiednik
Array.isArray(someValue)
angular.merge
Funkcja angular.merge pobiera wszystkie wyliczalne właściwości z obiektu źródłowego w celu głębokiego rozszerzenia obiektu docelowego.
Funkcja zwraca odwołanie do teraz rozszerzonego obiektu docelowego
angular.merge (miejsce docelowe, źródło)
Przykłady
angular.merge({}, {}) // {}
angular.merge({name: "king roland"}, {password: "12345"})
// {name: "king roland", password: "12345"}
angular.merge({a: 1}, [4, 5, 6]) // {0: 4, 1: 5, 2: 6, a: 1}
angular.merge({a: 1}, {b: {c: {d: 2}}}) // {"a":1,"b":{"c":{"d":2}}}
angular.isDefined i angular.isUndefined
Funkcja angular.isDefined
sprawdza wartość, jeśli jest zdefiniowana
angular.isDefined (someValue)
Jest to odpowiednik działania
value !== undefined; // will evaluate to true is value is defined
Przykłady
angular.isDefined(42) // true
angular.isDefined([1, 2]) // true
angular.isDefined(undefined) // false
angular.isDefined(null) // true
Funkcja angular.isUndefined
sprawdza, czy wartość jest niezdefiniowana (faktycznie jest przeciwieństwem angular.isDefined
)
angular.isUndefined (someValue)
Jest to odpowiednik działania
value === undefined; // will evaluate to true is value is undefined
Lub tylko
!angular.isDefined(value)
Przykłady
angular.isUndefined(42) // false
angular.isUndefined(undefined) // true
angular.isDate
Funkcja angular.isDate
zwraca wartość true wtedy i tylko wtedy, gdy przekazany do niej obiekt jest typu Data.
angular.isDate (wartość)
Przykłady
angular.isDate("lone star") // false
angular.isDate(new Date()) // true
angular.isNumber
Funkcja angular.isNumber
zwraca wartość true tylko wtedy, gdy przekazany do niej obiekt lub wartość jest typu Number, obejmuje to + Infinity, -Infinity i NaN
angular.isNumber (wartość)
Ta funkcja nie spowoduje przymusu typu, takiego jak
"23" == 23 // true
Przykłady
angular.isNumber("23") // false
angular.isNumber(23) // true
angular.isNumber(NaN) // true
angular.isNumber(Infinity) // true
Ta funkcja nie spowoduje przymusu typu, takiego jak
"23" == 23 // true
angular.isFunction
Funkcja angular.isFunction
określa i zwraca wartość true wtedy i tylko wtedy, gdy przekazana wartość jest odwołaniem do funkcji.
Funkcja zwraca odwołanie do teraz rozszerzonego obiektu docelowego
angular.isFunction (fn)
Przykłady
var onClick = function(e) {return e};
angular.isFunction(onClick); // true
var someArray = ["pizza", "the", "hut"];
angular.isFunction(someArray ); // false
angular.toJson
Funkcja angular.toJson
pobierze obiekt i przekształci go do postaci szeregowej w formacie JSON.
W przeciwieństwie do natywnej funkcji JSON.stringify
, ta funkcja usunie wszystkie właściwości zaczynające się od $$
(ponieważ kątowe zwykle poprzedza właściwości wewnętrzne znakiem $$
)
angular.toJson(object)
Ponieważ dane muszą zostać przekształcone do postaci szeregowej przed przejściem przez sieć, funkcja ta jest przydatna do przekształcenia dowolnych danych, które chcesz przesłać, w JSON.
Ta funkcja jest również przydatna do debugowania, ponieważ działa podobnie do .toString
metody .toString
.
Przykłady:
angular.toJson({name: "barf", occupation: "mog", $$somebizzareproperty: 42})
// "{"name":"barf","occupation":"mog"}"
angular.toJson(42)
// "42"
angular.toJson([1, "2", 3, "4"])
// "[1,"2",3,"4"]"
var fn = function(value) {return value}
angular.toJson(fn)
// undefined, functions have no representation in JSON
angular.fromJson
Funkcja angular.fromJson
deserializuje prawidłowy ciąg JSON i zwraca Object lub Array.
angular.fromJson (string | object)
Zauważ, że ta funkcja nie jest ograniczona tylko do łańcuchów, wyświetli reprezentację dowolnego przekazanego do niej obiektu.
Przykłady:
angular.fromJson("{\"yogurt\": \"strawberries\"}")
// Object {yogurt: "strawberries"}
angular.fromJson('{jam: "raspberries"}')
// will throw an exception as the string is not a valid JSON
angular.fromJson(this)
// Window {external: Object, chrome: Object, _gaq: Y, angular: Object, ng339: 3…}
angular.fromJson([1, 2])
// [1, 2]
typeof angular.fromJson(new Date())
// "object"
angular.noop
angular.noop
to funkcja, która nie wykonuje żadnych operacji, przekazujesz angular.noop
gdy musisz podać argument funkcji, który nic nie zrobi.
angular.noop ()
Typowym zastosowaniem angular.noop
może być zapewnienie pustego wywołania zwrotnego dla funkcji, która w przeciwnym razie wyrzuci błąd, gdy zostanie do niej przekazane coś innego niż funkcja.
Przykład:
$scope.onSomeChange = function(model, callback) {
updateTheModel(model);
if (angular.isFunction(callback)) {
callback();
} else {
throw new Error("error: callback is not a function!");
}
};
$scope.onSomeChange(42, function() {console.log("hello callback")});
// will update the model and print 'hello callback'
$scope.onSomeChange(42, angular.noop);
// will update the model
Dodatkowe przykłady:
angular.noop() // undefined
angular.isFunction(angular.noop) // true
angular.isObject
angular.isObject
powrót prawdziwe wtedy i tylko wtedy, gdy argument przekazany do niego jest obiektem, funkcja ta będzie również powrót prawdziwe dla tablicy i zwróci false dla null
chociaż typeof null
jest object
.
angular.isObject (wartość)
Ta funkcja jest przydatna do sprawdzania typu, gdy potrzebujesz zdefiniowanego obiektu do przetworzenia.
Przykłady:
angular.isObject({name: "skroob", job: "president"})
// true
angular.isObject(null)
// false
angular.isObject([null])
// true
angular.isObject(new Date())
// true
angular.isObject(undefined)
// false
angular.isElement
angular.isElement
zwraca wartość true, jeśli przekazany argument to element DOM lub element zawinięty w jQuery.
angular.isElement (elem)
Ta funkcja jest przydatna do sprawdzania, czy przekazany argument jest elementem, zanim zostanie przetworzony jako taki.
Przykłady:
angular.isElement(document.querySelector("body"))
// true
angular.isElement(document.querySelector("#some_id"))
// false if "some_id" is not using as an id inside the selected DOM
angular.isElement("<div></div>")
// false
angular.copy
Funkcja angular.copy
pobiera obiekt, tablicę lub wartość i tworzy jej głęboką kopię.
angular.copy ()
Przykład:
Obiekty:
let obj = {name: "vespa", occupation: "princess"};
let cpy = angular.copy(obj);
cpy.name = "yogurt"
// obj = {name: "vespa", occupation: "princess"}
// cpy = {name: "yogurt", occupation: "princess"}
Tablice:
var w = [a, [b, [c, [d]]]];
var q = angular.copy(w);
// q = [a, [b, [c, [d]]]]
W powyższym przykładzie wartość angular.equals(w, q)
będzie oceniana jako prawda, ponieważ .equals
testuje równość pod względem wartości. jednak w === q
zmieni się na false, ponieważ ścisłe porównanie obiektów i tablic odbywa się przez odniesienie.
tożsamość kątowa
Funkcja angular.identity
zwraca pierwszy przekazany argument.
angular.identity (argument)
Ta funkcja jest przydatna w programowaniu funkcjonalnym, można ją ustawić jako domyślną na wypadek, gdyby oczekiwana funkcja nie została przekazana.
Przykłady:
angular.identity(42) // 42
var mutate = function(fn, num) {
return angular.isFunction(fn) ? fn(num) : angular.identity(num)
}
mutate(function(value) {return value-7}, 42) // 35
mutate(null, 42) // 42
mutate("mount. rushmore", 42) // 42
angular.forEach
angular.forEach
akceptuje obiekt i funkcję iteratora. Następnie uruchamia funkcję iteratora nad każdą wyliczalną właściwością / wartością obiektu. Ta funkcja działa również na tablicach.
Podobnie jak wersja JS Array.prototype.forEach
Funkcja nie wykonuje iteracji po odziedziczonych właściwościach (właściwościach prototypowych), jednak funkcja nie podejmie próby przetworzenia null
lub undefined
i po prostu ją zwróci.
angular.forEach (obiekt, funkcja (wartość, klucz) {// funkcja});
Przykłady:
angular.forEach({"a": 12, "b": 34}, (value, key) => console.log("key: " + key + ", value: " + value))
// key: a, value: 12
// key: b, value: 34
angular.forEach([2, 4, 6, 8, 10], (value, key) => console.log(key))
// will print the array indices: 1, 2, 3, 4, 5
angular.forEach([2, 4, 6, 8, 10], (value, key) => console.log(value))
// will print the array values: 2, 4, 6, 7, 10
angular.forEach(undefined, (value, key) => console.log("key: " + key + ", value: " + value))
// undefined