角的原因.Extend被用作javascript推送函数的输入参数

Why angular.extend is used as an input parameter to javascript push function?

本文关键字:函数 输入 参数 javascript Extend      更新时间:2023-09-26

我最近在Ionic codePen上发现了以下代码:

  $scope.add = function() {
    var nextMessage = messageOptions[messageIter++ % messageOptions.length];  // some string
    $scope.messages.push(angular.extend({}, nextMessage));
}

为什么开发者要使用angular。扩展({},nextMessage)作为javascript推送函数的输入参数,而不是直接传递nextMessage作为参数?

用于创建nextMessage对象的副本并将副本压入数组。

angular.extend ()

通过复制自己的枚举对象来扩展目标对象dst属性从SRC对象到dst。可以指定多个src对象。如果你想保存原始物品,你可以这样做传入一个空对象作为目标:var object = angular.extend({};中的object1 object2)。

Javascript的Array.push()方法将推送项,而不是扩展数组。

var array1 = [1, 2, 3, 4];
var array2 = ['a', 'b'];
array1.push.apply(array1, array2);
console.log(foo); // will output [1, 2, 3, 4, "a", "b"]

angular.extend()方法将扩展数组/对象,而不是push项。

var array1 = [1, 2, 3, 4];
var array2 = ['a', 'b'];
angular.extend(array1, array2);
console.log(foo); // will output ["a", "b", 3, 4]