javascript - 删除 JavaScript 中的重复代码;更新传递给函数的对象

标签 javascript angularjs

我有一段代码需要发生三次。这是第一个:

    if (!$scope.subId1) {
        //$scope.subId1 = $scope.userEnteredSubId;
        //cassetteRepository.subId1 = $scope.userEnteredSubId;
        //$scope.userEnteredSubId = '';
        //cassetteRepository.userEnteredSubId = '';
        assignSubId($scope.subId1, cassetteRepository.subId1);
        return;
    }

接下来的两段代码是上面代码的重复,但是subId1变成了subId2。然后 subId1 变成 subId3。

注释代码是我要在每个片段中删除的代码,因为它是重复代码。这就是我调用 assignSubId() 的原因。但是,方法运行后调用者的值不会更新:

var assignSubId = function(scopeVariable, repositoryVariable) {
    scopeVariable = $scope.userEnteredSubId;
    repositoryVariable = $scope.userEnteredSubId;
    $scope.userEnteredSubId = '';
    cassetteRepository.userEnteredSubId = '';
}

有没有一种方法可以让一个函数更新值?

最佳答案

这应该可行

    if (!$scope.subId1) {
        assignSubId('subId1');
        return;
    }

var assignSubId = function(subId) {
    $scope[subId] = $scope.userEnteredSubId;
    cassetteRepository[subId]= $scope.userEnteredSubId;
    $scope.userEnteredSubId = '';
    cassetteRepository.userEnteredSubId = '';
}

关于javascript - 删除 JavaScript 中的重复代码;更新传递给函数的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35998704/

相关文章:

javascript - 听后退按钮会使其停止工作

json - ng-repeat 不准确地拉取数据

angularjs - 注入(inject) Angular 1.4.7 cookie 服务时出错

javascript - 如何在 AngularJS ng-include 中获取调用 onload 的元素

javascript - 如何在使用 Simplebar js 时以编程方式滚动到 div 的底部

javascript - 如何将参数从 HTML 元素动态传递给 JQuery 单击事件?

javascript - 单选按钮获取值

javascript - 如何在 JavaScript 字符串中替换\with\\

javascript - 使用defineProperty扩展,私有(private)变量放在哪里?

java - 如何解析 Play 2.3.x 中 WebService 调用的响应