AngularJS
Eingebaute Hilfsfunktionen
Suche…
eckig
Die angular.equals
Funktion vergleicht und ermittelt, ob 2 Objekte oder Werte gleich sind. angular.equals
führt einen tiefen Vergleich durch und gibt true zurück, wenn nur eine der folgenden Bedingungen erfüllt ist.
Winkelgleichungen (Wert1, Wert2)
- Wenn die Objekte oder Werte den
===
Vergleich bestehen - Wenn beide Objekte oder Werte vom gleichen Typ sind und alle ihre Eigenschaften auch gleich sind, verwenden Sie
angular.equals
- Beide Werte sind gleich
NaN
- Beide Werte repräsentieren das Ergebnis des gleichen regulären Ausdrucks.
Diese Funktion ist hilfreich, wenn Sie Objekte oder Arrays nicht nur nach Referenzen, sondern nach Werten oder Ergebnissen vergleichen müssen.
Beispiele
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
angle.isString
Die Funktion angular.isString
gibt true zurück, wenn das angegebene Objekt oder der Wert dem Typ string
angle.isString (Wert1)
Beispiele
angular.isString("hello") // true
angular.isString([1, 2]) // false
angular.isString(42) // false
Dies entspricht der Leistung
typeof someValue === "string"
eckig.isArray
Die angular.isArray
Funktion gibt nur dann true zurück, wenn das an sie übergebene Objekt oder Wert vom Typ Array
.
angle.isArray (Wert)
Beispiele
angular.isArray([]) // true
angular.isArray([2, 3]) // true
angular.isArray({}) // false
angular.isArray(17) // false
Es ist das Äquivalent von
Array.isArray(someValue)
eckig
Die Funktion angle.merge übernimmt alle aufzählbaren Eigenschaften des Quellobjekts, um das Zielobjekt tief zu erweitern.
Die Funktion gibt eine Referenz auf das jetzt erweiterte Zielobjekt zurück
angle.merge (Ziel, Quelle)
Beispiele
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}}}
angle.isDefiniert und angle.isUndefined
Die Funktion angular.isDefined
testet einen Wert, wenn er definiert ist
angle.isDefined (someValue)
Dies entspricht der Leistung
value !== undefined; // will evaluate to true is value is defined
Beispiele
angular.isDefined(42) // true
angular.isDefined([1, 2]) // true
angular.isDefined(undefined) // false
angular.isDefined(null) // true
Die Funktion angular.isUndefined
prüft, ob ein Wert undefiniert ist (er ist tatsächlich das Gegenteil von angular.isDefined
).
angle.isUndefined (someValue)
Dies entspricht der Leistung
value === undefined; // will evaluate to true is value is undefined
Oder nur
!angular.isDefined(value)
Beispiele
angular.isUndefined(42) // false
angular.isUndefined(undefined) // true
angle.isDate
Die angular.isDate
Funktion gibt nur dann true zurück, wenn das übergebene Objekt vom Typ Date ist.
angle.isDate (Wert)
Beispiele
angular.isDate("lone star") // false
angular.isDate(new Date()) // true
eckig.istNummer
Die angular.isNumber
Funktion gibt nur dann true zurück, wenn das übergebene Objekt oder der Wert dem Typ Number entspricht. Dazu gehören + Infinity, -Infinity und NaN
angle.isNumber (Wert)
Diese Funktion führt nicht zu einer Typumwandlung wie
"23" == 23 // true
Beispiele
angular.isNumber("23") // false
angular.isNumber(23) // true
angular.isNumber(NaN) // true
angular.isNumber(Infinity) // true
Diese Funktion führt nicht zu einer Typumwandlung wie
"23" == 23 // true
eckig.isFunktion
Die Funktion angular.isFunction
ermittelt und gibt true zurück, wenn und nur wenn der übergebene Wert eine Referenz auf eine Funktion ist.
Die Funktion gibt eine Referenz auf das jetzt erweiterte Zielobjekt zurück
angle.isFunction (fn)
Beispiele
var onClick = function(e) {return e};
angular.isFunction(onClick); // true
var someArray = ["pizza", "the", "hut"];
angular.isFunction(someArray ); // false
winklig.toJson
Die Funktion angular.toJson
nimmt ein Objekt und serialisiert es in eine JSON-formatierte Zeichenfolge.
Im Gegensatz zur JSON.stringify
Funktion JSON.stringify
diese Funktion alle Eigenschaften, die mit $$
(da Winkel normalerweise interne Eigenschaften mit $$
).
angular.toJson(object)
Da Daten vor dem Durchlauf durch ein Netzwerk serialisiert werden müssen, ist diese Funktion nützlich, um alle Daten, die Sie übertragen möchten, in JSON umzuwandeln.
Diese Funktion ist auch für das Debugging hilfreich, da sie ähnlich funktioniert wie eine .toString
Methode.
Beispiele:
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
eckig.von Json
Die Funktion angular.fromJson
deserialisiert eine gültige JSON-Zeichenfolge und gibt ein Object oder ein Array zurück.
angle.fromJson (string | object)
Beachten Sie, dass diese Funktion nicht nur auf Strings beschränkt ist, sondern eine Repräsentation aller übergebenen Objekte ausgibt.
Beispiele:
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"
eckig
Die angular.noop
ist eine Funktion, die keine Operationen ausführt. Sie übergeben angular.noop
wenn Sie ein Funktionsargument angular.noop
müssen, das nichts angular.noop
.
angle.noop ()
Eine übliche Verwendung für angular.noop
kann darin bestehen, einer Funktion einen leeren Rückruf bereitzustellen, der andernfalls einen Fehler angular.noop
wenn eine andere Funktion als eine Funktion an sie übergeben wird.
Beispiel:
$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
Zusätzliche Beispiele:
angular.noop() // undefined
angular.isFunction(angular.noop) // true
Winkel.istObject
Das angular.isObject
true zurück, wenn und nur wenn das an ihn übergebene Argument ein Objekt ist, diese Funktion auch true für ein Array und false für null
typeof null
obwohl typeof null
ein object
.
angle.isObject (Wert)
Diese Funktion ist nützlich für die Typüberprüfung, wenn Sie ein definiertes Objekt zur Verarbeitung benötigen.
Beispiele:
angular.isObject({name: "skroob", job: "president"})
// true
angular.isObject(null)
// false
angular.isObject([null])
// true
angular.isObject(new Date())
// true
angular.isObject(undefined)
// false
angle.isElement
Das angular.isElement
gibt true zurück, wenn das übergebene Argument ein DOM-Element oder ein mit jQuery umschlossenes Element ist.
angle.isElement (elem)
Diese Funktion ist nützlich, um zu prüfen, ob ein übergebenes Argument ein Element ist, bevor es als solches verarbeitet wird.
Beispiele:
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
eckige.Kopie
Die angular.copy
Funktion nimmt ein Objekt, ein Array oder einen Wert und erstellt eine tiefe Kopie davon.
eckige.Kopie ()
Beispiel:
Objekte:
let obj = {name: "vespa", occupation: "princess"};
let cpy = angular.copy(obj);
cpy.name = "yogurt"
// obj = {name: "vespa", occupation: "princess"}
// cpy = {name: "yogurt", occupation: "princess"}
Arrays:
var w = [a, [b, [c, [d]]]];
var q = angular.copy(w);
// q = [a, [b, [c, [d]]]]
Im obigen Beispiel wird angular.equals(w, q)
als wahr ausgewertet, da .equals
Gleichheit nach Wert testet. w === q
wird jedoch als falsch ausgewertet, da ein strenger Vergleich zwischen Objekten und Arrays durch Referenz erfolgt.
winkel.identität
Die angular.identity
Funktion gibt das erste übergebene Argument zurück.
winkel.identität (argument)
Diese Funktion ist nützlich für die Funktionsprogrammierung. Sie können diese Funktion als Standardwert angeben, falls eine erwartete Funktion nicht übergeben wurde.
Beispiele:
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
eckig
Das angular.forEach
akzeptiert ein Objekt und eine Iteratorfunktion. Anschließend wird die Iteratorfunktion für jede aufzählbare Eigenschaft / jeden Wert des Objekts ausgeführt. Diese Funktion funktioniert auch bei Arrays.
Wie die JS-Version von Array.prototype.forEach
Die Funktion Array.prototype.forEach
keine geerbten Eigenschaften (Prototypeneigenschaften). Die Funktion versucht jedoch nicht, einen null
oder einen undefined
Wert zu verarbeiten und gibt ihn nur zurück.
angle.forEach (Objekt, Funktion (Wert, Schlüssel) {// Funktion});
Beispiele:
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