2

我开始学习 javascriptmvc,在代码示例中,我看到表达式末尾没有分号的代码。这是否依赖于自动分号插入或者我错过了什么?下面的代码示例:

$.Controller("Contacts.Controller", {
        init: function(){
            this.params = new Mxui.Data();
            $("#category .list_wrapper").mxui_data_list({
                model : Contacts.Models.Category,
                show : "//contacts/views/categoryList",
                create: "//contacts/views/categoryCreate"
            }) // <------ NO SEMICOLON

            $("#location .list_wrapper").mxui_data_list({
                model : Contacts.Models.Location,
                show : "//contacts/views/categoryList",
                create: "//contacts/views/categoryCreate"
            }) // <------ NO SEMICOLON

            $("#company .list_wrapper").mxui_data_list({
                model : Contacts.Models.Company,
                show : "//contacts/views/companyList",
                create: "//contacts/views/companyCreate"
            }) // <------ NO SEMICOLON
                            // etc...
         }
      }) // <------ NO SEMICOLON
4

3 回答 3

4

Javascript 可以以其他语言没有的方式原谅缺少分号。但是,在您指出它们的地方建议使用分号。

如果您运行通过JSLint提供的代码,它会引发一整套警告,包括抱怨那些缺少分号的警告。

JSLint 是一个工具,用于告诉您代码中可能不是语法错误但可能导致问题的内容。它通常会引发很多错误,即使对于编写得相对较好的代码也是如此,但它有助于找出你应该修复的东西。

我会说这些代码示例由于缺少分号而写得不好。

于 2011-07-10T17:11:34.557 回答
1

分号仅在内联事件处理程序中是强制性的。大多数其他地方,换行就足够了。这是一个不够用的示例: 为什么在行尾需要分号? 正如所指出的,如果您想缩小脚本,请不要遗漏分号。

于 2011-07-10T17:06:54.787 回答
0

许多分号在 javascript 中是可选的,但建议避免混淆

https://mislav.net/2010/05/semicolons/

于 2011-07-10T17:07:32.163 回答