javascript - 这种的javascript的用途是什么?

  显示原文与译文双语对照的内容

所以我最近开始了一个到一个新上班的地方和我通过一定格式的js代码在运行,这使我质疑它的用途。 ( 尤其是括号 {})


var _occurrences = getOccurrences($('#ddlTours').val());
{
 var _occurrence = getObjectByValue(_occurrences, 'tourID', booking.tourID);
 {
 _occurrenceID = _occurrence.occurrenceID;
 }
}

对我来说,它看起来像是一个尝试的对象构造。 i.e.


var _occurrences ://Ignoring = getOccurrences($('#ddlTours').val());
{
 _occurrence ://Ignoring getObjectByValue(_occurrences, 'tourID', booking.tourID);
 {
 _occurrenceID : _occurrence.occurrenceID;
 }
}

但据我所知它将像这样执行它。


var _occurrences = getOccurrences($('#ddlTours').val());
var _occurrence = getObjectByValue(_occurrences, 'tourID', booking.tourID);
_occurrenceID = _occurrence.occurrenceID;

或者是它所以_occurrence获取删除并不作为它的封装的坐在这儿先假定一个变量,这个外部的封装。 这确实是一个性能改进? i.e.


Global var a = 1
{
 b = someFunction()//After execution because of encapsulation it poofs???
 for(var c in b)
 {
 a += c.somefunction()
 }
}

另一个选项是代码不正确?

或者它可能是一个逻辑分离,以帮助开发?

我只是想知道是否有人可以给我一些帮助:)

时间:

你质疑那些花括号是正确的。 他们根本不做任何事情。 大括号内的代码执行的与大括号不在的情况相同。 把它们放在那里显然是个错误。

括号里面是closed,就像你提到的,它看起来像有人可以认为,在之后的大括号会引进一个scope.块范围,可能导致某个变量以出去的时候, 但是JavaScript没有 var 变量的块作用域 ! ( 对于 let,它有块作用域,但只在支持 let的较新的JavaScript引擎中使用。)

或许他们只是想是一个好办法记录的变量都被用在哪里。 它不是。

在这里加对体液,代码完全在为 _occurrenceIDvar 似乎丢了- 那么它可能就是创建一个全局变量无意 !

在没有大括号的情况下重写代码实际上是它实际执行的方式。 它更好地表示了代码的实际作用,以及代码应该如何编写。 ( 修复丢失的var 当然。。)

...