Javascript 什么';这个var语句声明一个名称中带点的变量有什么问题?

Javascript 什么';这个var语句声明一个名称中带点的变量有什么问题?,javascript,Javascript,我是JavaScript新手,我收到一个错误,说我的代码第2行缺少分号。它需要什么分号?我已经用分号了 var success = function(){ var wx.varx = $scope.vr; $state.go("/there"); }; 那条线的问题是它根本无效。错误消息只是解析器尽力找出发生了什么 var声明一个变量。文字变量名(规范中的IdentifierName)不能包含 如果您有一个范围内的wx标识符引用一个对象,并希望在其上设置一个属性,请删除var:

我是JavaScript新手,我收到一个错误,说我的代码第2行缺少分号。它需要什么分号?我已经用分号了

var success = function(){
    var wx.varx = $scope.vr;
    $state.go("/there");
};

那条线的问题是它根本无效。错误消息只是解析器尽力找出发生了什么

var
声明一个变量。文字变量名(规范中的IdentifierName)不能包含

如果您有一个范围内的
wx
标识符引用一个对象,并希望在其上设置一个属性,请删除
var

wx.varx = $scope.vr;
如果要创建新变量,请从名称中删除

var wxvarx = $scope.vr;
如果要创建
wx
变量和包含
varx
作为属性的对象:

var wx = {
    varx: $scope.vr
};
像这样使用

var wx={};
wx.varx =  $scope.vr;

不能将变量直接用作对象

不能直接使用

var wx.varx
因为此时对象不存在。相反,您需要声明对象(wx)并设置varx

var vx = {
    varx: $scope.vr
};

不能将变量定义为
var wx.varx
、删除
var wx={varx:$scope.vr}我无法重新定义wx,因为它已经有一堆数据。我只需要设置一个新属性。@Books:这将是上面的选项1,然后:
wx.varx=$scope.varwx对象已存在。它只是一个还不存在的varx属性。在这种情况下,只需删除“var”。属性是对象的一部分,因此不需要使用var单独声明,因为它共享对象本身的范围。如果对象已存在,则不应再次声明