我有一段代码需要发生三次。这是第一个:
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/