Javascript “代码不断返回”;未捕获的语法错误:意外标记“;错误

Javascript “代码不断返回”;未捕获的语法错误:意外标记“;错误,javascript,angularjs,Javascript,Angularjs,我一直遇到未捕获的SyntaxError:Unexpected token错误,但我看不出我在哪里丢失了/有一个额外的或)字符。它在代码中给了我一行(见下文),但它似乎是一个有效的令牌位置 JSLint给了我一些澄清:Expected')to match'(“来自第2行,而不是saw';”。 下面是我正在编写的JavaScript代码(为了简洁起见,删除了内部部分): 括号错了,见图。我休息了一段时间 括号错了,见图。我休息了一段时间 非常感谢@MikeC帮助解决了这个问题。虽然缩进是问题的关键

我一直遇到
未捕获的SyntaxError:Unexpected token
错误,但我看不出我在哪里丢失了/有一个额外的
字符。它在代码中给了我一行(见下文),但它似乎是一个有效的令牌位置

JSLint给了我一些澄清:
Expected')to match'(“来自第2行,而不是saw';”。

下面是我正在编写的JavaScript代码(为了简洁起见,删除了内部部分):


括号错了,见图。我休息了一段时间


括号错了,见图。我休息了一段时间


非常感谢@MikeC帮助解决了这个问题。虽然缩进是问题的关键部分,但它并没有解决根本问题:变量AppCtrl是如何定义的。

为了解决这个问题,让我们看看定义AppCtrl的各种方法:

app.controller('MyCtrl', ['$scope', function ($scope) {...}])

app.controller('MyCtrl', function ($scope) {...})

var MyCtrl = function ($scope) {...})
我们目前使用的是第三个定义,这对我们来说并不有利。第一个定义似乎更接近我们想要的。考虑到这一点

'use strict';

  // Declare app level module which depends on views and components
  angular.module('careApp', [
     //Dependencies
  ])
  .config(['$routeProvider', function($routeProvider) {
      //if given invalid partial, go back to appLaunch.html
    $routeProvider.otherwise({redirectTo: '/appLaunch'});
  }])
  .controller('AppCtrl', ['$scope', function($scope){
            $scope.list = [
               //JSON data
            ];
            var patientID = '';
            $scope.idStore = function() {
             //Stuff
            }
            $scope.patientTime = function(){
              //More stuff
            }
  }]);
…这是正确的配置


注意,我们删除了
(function()){
在JS文件的最顶部设置块,并在最底部设置相应的关闭元素。我们还将
$scope.list
和其他
$scope
函数移到了文件的
.controller
部分。

非常感谢@MikeC帮助解决了这个问题。而缩进是一个cri问题的一部分是,它没有解决根本问题:变量AppCtrl是如何定义的。

为了解决这个问题,让我们看看定义AppCtrl的各种方法:

app.controller('MyCtrl', ['$scope', function ($scope) {...}])

app.controller('MyCtrl', function ($scope) {...})

var MyCtrl = function ($scope) {...})
我们目前使用的是第三个定义,这对我们来说并不有利。第一个定义似乎更接近我们想要的。考虑到这一点

'use strict';

  // Declare app level module which depends on views and components
  angular.module('careApp', [
     //Dependencies
  ])
  .config(['$routeProvider', function($routeProvider) {
      //if given invalid partial, go back to appLaunch.html
    $routeProvider.otherwise({redirectTo: '/appLaunch'});
  }])
  .controller('AppCtrl', ['$scope', function($scope){
            $scope.list = [
               //JSON data
            ];
            var patientID = '';
            $scope.idStore = function() {
             //Stuff
            }
            $scope.patientTime = function(){
              //More stuff
            }
  }]);
…这是正确的配置


请注意,我们删除了JS文件顶部的
(function(){/code>块,以及底部相应的结束元素。我们还将
$scope.list
和其他
$scope
函数移到了文件的
.controller
部分。

是的,那一行不应该在那里。
};
将结束函数:因此它基本上是
(function(){};
,这是无效的语法,因为
中不能有多个语句()
。您已经关闭了
窗口上方的
AppCtrl
。AppCtrl=
行上方行中的缩进不正确,这让您感到困惑。我已经更正了代码中的缩进。现在您应该可以看到
窗口之后有一个额外的右括号。AppCtrl=AppCtrl
。您已经完成了c关闭了
AppCtrl
函数,现在你正试图关闭其他东西。@Thassa你从未声明过
AppCtrl
。在
AppCtrl
前面放一个
var
var-AppCtrl=…
)是的,那行不应该在那里。
正在结束你的函数:所以基本上是
(function(){};
这是无效的语法,因为在
()中不能有多个语句
。您已经关闭了
窗口上方的
AppCtrl
。AppCtrl=
行上方行中的缩进不正确,这让您感到困惑。我已经更正了代码中的缩进。现在您应该可以看到
窗口之后有一个额外的右括号。AppCtrl=AppCtrl
。您已经完成了c关闭了
AppCtrl
功能,现在您正试图关闭其他功能。@Thassa您从未声明过
AppCtrl
。在
AppCtrl
前面放一个
var
var-AppCtrl=…