Javascript 我对AngularJS的几行代码有一些疑问
在我工作的地方,我们有一个angularjs项目,我需要修改,但我不能完全理解以下代码:Javascript 我对AngularJS的几行代码有一些疑问,javascript,angularjs,Javascript,Angularjs,在我工作的地方,我们有一个angularjs项目,我需要修改,但我不能完全理解以下代码: app.controller("complementsController", function($scope, $rootScope, $mdSidenav, $timeout, $localStorage, $window) { $scope.storage = $localStorage; $scope.arrayCubiert = $scope.storage.cocinaCubie
app.controller("complementsController", function($scope, $rootScope, $mdSidenav, $timeout, $localStorage, $window) {
$scope.storage = $localStorage;
$scope.arrayCubiert = $scope.storage.cocinaCubiert.split("-");
$scope.tipoCubiert = $scope.arrayCubiert[1];
$scope.return = function() {
$window.history.back()
};
$scope.configurations = [{
logo: "some-logo",
val: 1
}];
"CUE" != $scope.tipoCubiera && "CUF" != $scope.tipoCubiert && "CUS" != $scope.tipoCubiert || $scope.configurations.push({
logo: "fiss-logo",
val: 2
});
"CUE" == $scope.tipoCubiert && $scope.configurations.push({
logo: "grafett-essence",
val: 3
});
$scope.opcionTitle = "EhapeAL", $scope.opcionImg = [ ["EAL.png", "EhapeAL AL"] ];
$scope.opcionBtn = 1, $timeout(function() {
$mdSidenav("sidebar").toggle().then(function() {})
}, 500);
具体而言,我不明白的是:
“提示”!=$scope.tipoCubierta&“CUF”!=$scope.tipoCubierta&“CUS”!=$scope.tipoCubierta | |$scope.configuraciones.push({
徽标:“fisso徽标”,
瓦尔:2
}),
这是一种速记条件吗???如果是这样的话,这将是一种“传统”的方式。这与AngularJS无关,只是javascript而已 如果你把这样的东西:
4!=1 && 4 != 2 && 4 != 3 | | console.log(“hello world”)
来自MDN关于:
短路评估
当逻辑表达式从左到右求值时,将对其进行测试
使用以下规则进行可能的“短路”评估:
false&任何短路都被评估为false。
true | |任何短路都被评估为true。
逻辑规则保证这些评估总是正确的。请注意
以上表达式的任何部分都不会计算,因此
这样做的效果不会生效
因此,上述代码的“传统”方式是:
if(!("CUE" != $scope.tipoCubierta && "CUF" != $scope.tipoCubierta && "CUS" != $scope.tipoCubierta)){
$scope.configuraciones.push({ logo: "fisso-logo", val: 2 })
}
这是迫切需要一些缩进,使其可读性。