开发者

Why no semicolon at the end of js expression in javascriptmvc app?

开发者 https://www.devze.com 2023-03-19 17:59 出处:网络
I am starting to learn javascriptmvc, and in code samples, I see code without semicolons at the end of expressions. Does this count on automatic semicolon insertion or am I missing something? Code exa

I am starting to learn javascriptmvc, and in code samples, I see code without semicolons at the end of expressions. Does this count on automatic semicolon insertion or am I missing something? Code example below:

$.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


Javascript can be forgiving about the lack of a semicolon in ways that other languages are not. However a semicolon is recommended where you've pointed them out.

If you run the code you've given through JSLint, it throws up a whole stack of warnings, including complaining about those missing semicolons.

JSLint is a tool for telling you about things in your code which may not be syntax errors but which could cause problems. It generally throws up a lot of errors, even for relatively well written code, but it is good for picking up things which you should fix.

I would say that those code samples are poorly written because of the missing semi-colons.


Semicolons are only mandatory in inline event handlers. MOST anywhere else, a linefeed is enough. Here is an example of where it is not enough: Why is a semicolon required at end of line? And as pointed out, do not leave out semicolons if you want to minify your scripts.


A lot of semicolons are optional in javascript, though recommended to avoid confusion

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

0

精彩评论

暂无评论...
验证码 换一张
取 消