逗号分隔Javascript代码分配方法

时间:2014-08-27 12:37:09

标签: javascript

我无法理解这种类型的javascript赋值,其中值以逗号分隔。它是如何工作的以及它的目的是什么?

var self = this, selectedTabPane, resultsGridQuery,
                headers = self.app.SessionInfo && self.app.SessionInfo.headers,
                hierarchyId = self.params.hierarchyId,
                gridColumns;

在上面的代码中,self是当前模块。我完全混淆了什么将被分配给self或selectedTabPane等,任何人都可以帮助它?

3 个答案:

答案 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.galSysSessionInfoself.app.galSysSessionInfo.headers具有任何其他值,则为真。