如果变量未定义,则使用另一个Javascript

这个问题在这里已经有了答案:

  • JavaScript中是否存在“null coalescing”运算符? 8个答案

  • 我想留下简短的评论,但现在我明白,如果我解释的话会更好。

    var job = $scope.job || $scope.jobs;
    

    undefined == false; // prints true

    这就是它的工作原理。

    If $scope.job == undefined == false || $scope.jobs == {...} == true.
    

    如果作业将是未定义的 - 它将是假的, or操作数返回真值。


    所以如果我明白你的意思:

    if ($scope.job)
      var job = $scope.job;
    else
    {
      var job = $scope.jobs;
      $scope.job = $scope.jobs;
    }
    

    那么,简写如下:

    var job = $scope.job = $scope.job || $scope.jobs;
    

    或者你可以使用三元运算符

    var job = $scope.job ? $scope.job : $scope.jobs
    

    要么

    var job = $scope.job == undefined ? $scope.job : $scope.jobs
    
    链接地址: http://www.djcxy.com/p/73361.html

    上一篇: Javascript if variable is undefined then use another

    下一篇: " in a var statement mean?