Поиск…


angular.equals

Функция angular.equals сравнивает и определяет, равны ли 2 объекта или значения, angular.equals выполняет глубокое сравнение и возвращает true тогда и только тогда, angular.equals выполняется angular.equals одно из следующих условий.

угловые.равнения (значение1, значение2)

  1. Если объекты или значения проходят сравнение ===
  2. Если оба объекта или значения имеют один и тот же тип, и все их свойства также равны с использованием angular.equals
  3. Оба значения равны NaN
  4. Оба значения представляют собой результат одного и того же регулярного выражения.

Эта функция полезна, когда вам нужно глубоко сравнивать объекты или массивы по их значениям или результатам, а не только по ссылкам.

Примеры

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

Функция angular.isString возвращает true, если объект или значение, присвоенное ему, имеют string типа

angular.isString (значение1)

Примеры

angular.isString("hello") // true
angular.isString([1, 2]) // false
angular.isString(42) // false

Это эквивалентно выполнению

typeof someValue === "string"

angular.isArray

Функция angular.isArray возвращает true тогда и только тогда, когда объект или значение передано ему типа Array .

angular.isArray (значение)

Примеры

angular.isArray([]) // true
angular.isArray([2, 3]) // true
angular.isArray({}) // false
angular.isArray(17) // false

Это эквивалент

Array.isArray(someValue)

angular.merge

Функция angular.merge принимает все перечислимые свойства из исходного объекта, чтобы глубоко расширить объект назначения.

Функция возвращает ссылку на теперь расширенный объект назначения

angular.merge (пункт назначения, источник)

Примеры

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 и angular.isUndefined

Функция angular.isDefined проверяет значение, если оно определено

angular.isDefined (SomeValue)

Это эквивалентно выполнению

value !== undefined; // will evaluate to true is value is defined

Примеры

angular.isDefined(42) // true
angular.isDefined([1, 2]) // true
angular.isDefined(undefined) // false
angular.isDefined(null) // true

Функция angular.isUndefined проверяет, не определено ли значение (оно фактически противоположно angular.isDefined )

angular.isUndefined (SomeValue)

Это эквивалентно выполнению

value === undefined; // will evaluate to true is value is undefined

Или просто

!angular.isDefined(value)

Примеры

angular.isUndefined(42) // false
angular.isUndefined(undefined) // true

angular.isDate

Функция angular.isDate возвращает true тогда и только тогда, когда объект, переданный ему, имеет тип Date.

angular.isDate (значение)

Примеры

angular.isDate("lone star") // false
angular.isDate(new Date()) // true

angular.isNumber

Функция angular.isNumber возвращает true тогда и только тогда, когда объект или значение, переданное ему, имеет тип Number, это включает в себя + Infinity, -Infinity и NaN

angular.isNumber (значение)

Эта функция не приведет к принуждению типа, например

"23" == 23 // true 

Примеры

angular.isNumber("23") // false
angular.isNumber(23) // true
angular.isNumber(NaN) // true
angular.isNumber(Infinity) // true

Эта функция не приведет к принуждению типа, например

"23" == 23 // true 

angular.isFunction

Функция angular.isFunction определяет и возвращает true тогда и только тогда, когда переданное значение является ссылкой на функцию.

Функция возвращает ссылку на теперь расширенный объект назначения

angular.isFunction (п)

Примеры

var onClick = function(e) {return e};
angular.isFunction(onClick); // true

var someArray = ["pizza", "the", "hut"];
angular.isFunction(someArray ); // false

angular.toJson

Функция angular.toJson возьмет объект и сериализует его в форматированную строку JSON.

В отличие от нативной функции JSON.stringify , эта функция удалит все свойства, начинающиеся с $$ (как угловые обычно префиксы внутренних свойств с $$ )

angular.toJson(object)

Поскольку данные должны быть сериализованы до прохождения через сеть, эта функция полезна для превращения любых данных, которые вы хотите передать в JSON.

Эта функция также полезна для отладки, поскольку она работает аналогично методу .toString .

Примеры:

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

Функция angular.fromJson десериализует действительную строку JSON и возвращает объект или массив.

angular.fromJson (строка | объект)

Обратите внимание, что эта функция не ограничивается только строками, она выводит представление любого переданного ей объекта.

Примеры:

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 - это функция, которая не выполняет никаких операций, вы передаете angular.noop когда вам нужно предоставить аргумент функции, который ничего не сделает.

angular.noop ()

Обычным использованием для angular.noop может быть предоставление пустой обратного вызова функции, которая иначе выдает ошибку, когда ей передается что-то еще, кроме функции.

Пример:

$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

Дополнительные примеры:

angular.noop() // undefined
angular.isFunction(angular.noop) // true

angular.isObject

Функция angular.isObject возвращает true тогда и только тогда, когда переданный ей аргумент является объектом, эта функция также вернет true для массива и вернет значение false для null даже если typeof null является object .

angular.isObject (значение)

Эта функция полезна для проверки типов, когда вам нужен определенный объект для обработки.

Примеры:

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 возвращает true, если переданный ему аргумент представляет собой элемент DOM или элемент, обернутый jQuery.

angular.isElement (эль)

Эта функция полезна, чтобы набрать проверку, если переданный аргумент является элементом перед его обработкой как таковым.

Примеры:

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

Функция angular.copy принимает объект, массив или значение и создает его глубокую копию.

angular.copy ()

Пример:

Объекты:

let obj = {name: "vespa", occupation: "princess"};
let cpy = angular.copy(obj);
cpy.name = "yogurt"
// obj = {name: "vespa", occupation: "princess"}
// cpy = {name: "yogurt", occupation: "princess"}

Массивы:

var w = [a, [b, [c, [d]]]];
var q = angular.copy(w);
// q = [a, [b, [c, [d]]]]

В приведенном выше примере angular.equals(w, q) будет оцениваться как истинное, потому что .equals проверяет равенство по значению. однако w === q будет оцениваться как false, потому что строгое сравнение между объектами и массивами выполняется по ссылке.

angular.identity

Функция angular.identity возвращает первый переданный ей аргумент.

angular.identity (аргумент)

Эта функция полезна для функционального программирования, вы можете предоставить эту функцию по умолчанию в случае, если ожидаемая функция не была передана.

Примеры:

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 принимает объект и функцию итератора. Затем он запускает функцию итератора над каждым перечислимым свойством / значением объекта. Эта функция также работает с массивами.

Подобно JS-версии Array.prototype.forEach Функция не выполняет итерацию по унаследованным свойствам (свойства прототипа), однако функция не будет пытаться обрабатывать значение null или undefined значение и просто вернет его.

angular.forEach (объект, функция (значение, ключ) {// функция});

Примеры:

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



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow