gpt4 book ai didi

javascript - 将范围作为参数传递到要保存的函数中

转载 作者:行者123 更新时间:2023-12-02 17:21:39 25 4
gpt4 key购买 nike

我的 Controller 中有两个函数,如下所示。

$scope.formatPaymentDates = function() {
$scope.formatDate($scope.payment.due_date);

$scope.formatDate($scope.payment.date);
};


$scope.formatDate = function(attr) {
if (attr) {
var split_date = attr.split("-");

if (split_date[0].length == 4) {
attr = split_date[1] + "-" + split_date[2] + "-" + split_date[0];
} else {
attr = split_date[2] + "-" + split_date[0] + "-" + split_date[1];
}
}
};

问题是函数formatDate只设置了作用域变量属性,并没有保存。我错过了什么?

最佳答案

在 JavaScript 中,字符串和数字是按值传递的,而对象是按引用传递的。您应该传递一个对象作为参数。

或者,正如 @faby 提到的,返回值:

$scope.formatPaymentDates = function() {
$scope.payment.due_date = $scope.formatDate($scope.payment.due_date);
$scope.payment.date = $scope.formatDate($scope.payment.date);
};


$scope.formatDate = function(attr) {
var result;
if (attr) {
var split_date = attr.split("-");

if (split_date[0].length == 4) {
result = split_date[1] + "-" + split_date[2] + "-" + split_date[0];
} else {
result = split_date[2] + "-" + split_date[0] + "-" + split_date[1];
}
}
return result;
};

关于javascript - 将范围作为参数传递到要保存的函数中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com