Javascript:variable = variable2 = variable3

时间:2016-01-14 04:41:16

标签: javascript variables variable-assignment assignment-operator

我不知道如何描述这一点,但这并不是Javascript中的错误...但它并不意味着它是一个好主意并且除了它之外的所有版本的Javascript(或不)。

思想?

public class Sample {

    @SerializedName("LeadId")
    @Expose
    private Integer LeadId;
    @SerializedName("CoreLeadId")
    @Expose
    private Integer CoreLeadId;
    @SerializedName("CompanyId")
    @Expose
    private Integer CompanyId;
    @SerializedName("AccountNo")
    @Expose
    private String AccountNo;
    @SerializedName("ScheduleOn")
    @Expose
    private String ScheduleOn;

    /**
     * @return The LeadId
     */
    public Integer getLeadId() {
        return LeadId;
    }

    /**
     * @param LeadId The LeadId
     */
    public void setLeadId(Integer LeadId) {
        this.LeadId = LeadId;


    public Integer getCoreLeadId() {
        return CoreLeadId;
    }

    public Integer getCompanyId() {
        return CompanyId;
    }

    public String getAccountNo() {
        return AccountNo;
    }

    public String getScheduleOn() {
        return ScheduleOn;
    }
}

它似乎并不标准,开发人员可能更难以遵循,但实际上是否有任何用例?

3 个答案:

答案 0 :(得分:1)

这是有效的,因为r = t的赋值返回指定的值。所以是的,您可以根据返回值无限分配值。

答案 1 :(得分:1)

将作业链接在一起是一种相当标准的做法。它甚至有一个名为"chain assignment"的名称。我不知道你从哪里得到“这是一个糟糕的编码”的想法,但这绝对是一件正常的事情。这是有效的,因为赋值会返回指定的值。

这通常用于初始化变量:

Thread.currentThread().getContextClassLoader().getResourceAsStream("folder1\1.txt")
  

它似乎不标准,开发人员可能更难以遵循。

如果开发人员无法理解这个表达,我不知道该说些什么。

答案 2 :(得分:0)

我一直在我的模块中使用它来创建函数的本地快捷方式(在模块中使用):

var doSomething = module.exports.doSomething = ()=>{};

javascript返回值的方式很好。在像python这样的语言中,你必须经常这样做:

def do_something(ctx):
    ctx.update({
        'entry': entry,
        'section': 'select_category'
    })
    do_something_else(ctx)

而不是

def do_something(ctx):
    do_something_else(ctx.update({
        'entry': entry,
        'section': 'select_category'
    })

因为更新方法没有返回任何内容。