我无法理解这种类型的javascript赋值,其中值以逗号分隔。它是如何工作的以及它的目的是什么?
var self = this, selectedTabPane, resultsGridQuery,
headers = self.app.SessionInfo && self.app.SessionInfo.headers,
hierarchyId = self.params.hierarchyId,
gridColumns;
在上面的代码中,self是当前模块。我完全混淆了什么将被分配给self或selectedTabPane等,任何人都可以帮助它?
答案 0 :(得分:3)
你应该简单地重新格式化代码,它会更清楚:
var self = this,
selectedTabPane,
resultsGridQuery,
headers = self.app.galSysSessionInfo && self.app.galSysSessionInfo.headers,
hierarchyId = self.params.hierarchyId,
gridColumns;
这相当于:
var self,
selectedTabPane,
resultsGridQuery,
headers,
hierarchyId,
gridColumns;
self = this;
headers = self.app.galSysSessionInfo && self.app.galSysSessionInfo.headers;
hierarchyId = self.params.hierarchyId;
有6个声明的变量,3个分配了上面指出的值......
答案 1 :(得分:1)
您的代码与:
相同var self = this;
var selectedTabPane;
var resultsGridQuery;
var headers = self.app.galSysSessionInfo && self.app.galSysSessionInfo.headers;
var hierarchyId = self.params.hierarchyId;
var gridColumns;
答案 2 :(得分:1)
JavaScript允许逗号分隔变量声明。您可以声明用逗号分隔的变量。 例如var i; var j;可以写成var i,j; 这里将为self指定this(当前对象)的值。 您还没有为selectedTabPane分配任何值,因此它不会有任何价值。 我们也可以声明和初始化变量,如下所示。
var i=0,k=i,j;
修改强>
变量头将具有布尔值。如果self.app.galSysSessionInfo
和self.app.galSysSessionInfo.headers
具有任何其他值,则为真。