AngularJS
Ingebouwde helperfuncties
Zoeken…
angular.equals
De functie angular.equals
vergelijkt en bepaalt of 2 objecten of waarden gelijk zijn, angular.equals
voert een diepe vergelijking uit en retourneert true als en alleen als aan ten minste 1 van de volgende voorwaarden is voldaan.
angular.equals (waarde1, waarde2)
- Als de objecten of waarden de vergelijking
===
passeren - Als beide objecten of waarden van hetzelfde type zijn, en al hun eigenschappen ook gelijk zijn door
angular.equals
- Beide waarden zijn gelijk aan
NaN
- Beide waarden vertegenwoordigen het resultaat van dezelfde reguliere expressie.
Deze functie is handig wanneer u objecten of arrays diep moet vergelijken op basis van hun waarden of resultaten in plaats van alleen verwijzingen.
Voorbeelden
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
De functie angular.isString
retourneert true als het gegeven object of de waarde van het type string
angular.isString (waarde1)
Voorbeelden
angular.isString("hello") // true
angular.isString([1, 2]) // false
angular.isString(42) // false
Dit is het equivalent van optreden
typeof someValue === "string"
angular.isArray
De functie angular.isArray
retourneert true als en alleen als het object of de waarde die eraan wordt doorgegeven van het type Array
.
angular.isArray (value)
Voorbeelden
angular.isArray([]) // true
angular.isArray([2, 3]) // true
angular.isArray({}) // false
angular.isArray(17) // false
Het is het equivalent van
Array.isArray(someValue)
angular.merge
De functie angular.merge neemt alle opsombare eigenschappen van het bronobject om het doelobject diep uit te breiden.
De functie retourneert een verwijzing naar het nu uitgebreide doelobject
angular.merge (bestemming, bron)
Voorbeelden
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 en angular.isUndefined
De functie angular.isDefined
test een waarde als deze is gedefinieerd
angular.isDefined (someValue)
Dit is het equivalent van optreden
value !== undefined; // will evaluate to true is value is defined
Voorbeelden
angular.isDefined(42) // true
angular.isDefined([1, 2]) // true
angular.isDefined(undefined) // false
angular.isDefined(null) // true
De functie angular.isUndefined
test of een waarde niet is gedefinieerd (deze is in feite het tegenovergestelde van angular.isDefined
)
angular.isUndefined (someValue)
Dit is het equivalent van optreden
value === undefined; // will evaluate to true is value is undefined
Of gewoon
!angular.isDefined(value)
Voorbeelden
angular.isUndefined(42) // false
angular.isUndefined(undefined) // true
angular.isDate
De functie angular.isDate
retourneert true als en alleen als het doorgegeven object van het type Date is.
angular.isDate (value)
Voorbeelden
angular.isDate("lone star") // false
angular.isDate(new Date()) // true
angular.isNumber
De functie angular.isNumber
retourneert true als en alleen als het object of de waarde die eraan wordt doorgegeven van het type Number is, inclusief + Infinity, -Infinity en NaN
angular.isNumber (value)
Deze functie veroorzaakt geen typecurve zoals
"23" == 23 // true
Voorbeelden
angular.isNumber("23") // false
angular.isNumber(23) // true
angular.isNumber(NaN) // true
angular.isNumber(Infinity) // true
Deze functie veroorzaakt geen typecurve zoals
"23" == 23 // true
angular.isFunction
De functie angular.isFunction
bepaalt en retourneert true als en alleen als de doorgegeven waarde een verwijzing naar een functie is.
De functie retourneert een verwijzing naar het nu uitgebreide doelobject
angular.isFunction (fn)
Voorbeelden
var onClick = function(e) {return e};
angular.isFunction(onClick); // true
var someArray = ["pizza", "the", "hut"];
angular.isFunction(someArray ); // false
angular.toJson
De functie angular.toJson
neemt een object en maakt er een serienummer van in een met JSON opgemaakte string.
In tegenstelling tot de native functie JSON.stringify
, verwijdert deze functie alle eigenschappen die beginnen met $$
(omdat hoekig meestal interne eigenschappen JSON.stringify
met $$
)
angular.toJson(object)
Omdat gegevens moeten worden geserialiseerd voordat ze via een netwerk worden doorgegeven, is deze functie nuttig om alle gegevens die u wilt verzenden om te zetten in JSON.
Deze functie is ook handig voor foutopsporing, omdat deze op dezelfde manier werkt als een .toString
methode zou werken.
Voorbeelden:
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
De functie angular.fromJson
deserialiseert een geldige JSON-string en retourneert een object of een array.
angular.fromJson (string | object)
Merk op dat deze functie niet beperkt is tot alleen strings, maar een weergave zal geven van elk object dat eraan wordt doorgegeven.
Voorbeelden:
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
is een functie die geen bewerkingen uitvoert. U geeft angular.noop
wanneer u een functieargument moet angular.noop
dat niets doet.
angular.noop ()
Een algemeen gebruik voor angular.noop
kan zijn om een lege callback te geven aan een functie die anders een foutmelding geeft wanneer er iets anders dan een functie aan wordt doorgegeven.
Voorbeeld:
$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
Aanvullende voorbeelden:
angular.noop() // undefined
angular.isFunction(angular.noop) // true
angular.isObject
Het angular.isObject
retourneert true als en alleen als het doorgegeven argument een object is, deze functie retourneert ook true voor een array en retourneert false voor null
ook al is het type typeof null
object
.
angular.isObject (value)
Deze functie is handig voor typecontrole wanneer u een gedefinieerd object nodig hebt om te verwerken.
Voorbeelden:
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
Het angular.isElement
geeft true als het doorgegeven argument een DOM-element of een jQuery-verpakt element is.
angular.isElement (elem)
Deze functie is handig om check te typen als een doorgegeven argument een element is voordat het als zodanig wordt verwerkt.
Voorbeelden:
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
De functie angular.copy
neemt een object, matrix of waarde en maakt er een diepe kopie van.
angular.copy ()
Voorbeeld:
Voorwerpen:
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]]]]
In het bovenstaande voorbeeld wordt angular.equals(w, q)
geëvalueerd naar true omdat .equals
gelijkheid op waarde test. w === q
wordt echter als onwaar geëvalueerd omdat strikte vergelijking tussen objecten en arrays door verwijzing wordt gedaan.
angular.identity
De functie angular.identity
retourneert het eerste argument dat eraan is doorgegeven.
angular.identity (argument)
Deze functie is handig voor functioneel programmeren, u kunt deze functie als standaard opgeven als een verwachte functie niet is geslaagd.
Voorbeelden:
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
De angular.forEach
accepteert een object en een iteratorfunctie. Vervolgens wordt de iteratorfunctie uitgevoerd voor elke opsombare eigenschap / waarde van het object. Deze functie werkt ook op arrays.
Net als de JS-versie van Array.prototype.forEach
De functie Array.prototype.forEach
niet overgeërfde eigenschappen (prototype-eigenschappen), maar de functie zal niet proberen een null
of een undefined
waarde te verwerken en zal deze alleen retourneren.
angular.forEach (object, functie (waarde, sleutel) {// function});
Voorbeelden:
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