Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多余的花括号_Javascript_Braces - Fatal编程技术网

Javascript 多余的花括号

Javascript 多余的花括号,javascript,braces,Javascript,Braces,我有一个学生,他喜欢用大括号把代码的大部分包起来,这样他就可以在代码编辑器中折叠这些部分。起初,我对此犹豫不决,但想不出一个合理的理由不让他这么做我想知道这种做法以后是否会产生任何问题。 例如: var a = 0; var b = 1; { if (a == b){ alert("a = b"); } else if (a > b){ alert("a > b"); } else if (a < b){ aler

我有一个学生,他喜欢用大括号把代码的大部分包起来,这样他就可以在代码编辑器中折叠这些部分。起初,我对此犹豫不决,但想不出一个合理的理由不让他这么做我想知道这种做法以后是否会产生任何问题。

例如:

var a = 0;
var b = 1;

{  if (a == b){
      alert("a = b");
   }
   else if (a > b){
      alert("a > b");
   }
   else if (a < b){
      alert("a < b");
   }
}
var a=0;
var b=1;
{如果(a==b){
警报(“a=b”);
}
否则,如果(a>b){
警报(“a>b”);
}
否则如果(a
我知道关于if中单个语句的括号存在争议,这不是我要说的。如果你愿意的话,我指的是一系列if/else if语句周围的“parent”大括号。

正如他在评论中所指出的,关于大括号限制变量范围的说法是错误的

var a = "outside";
{
    var a = "inside";
    var b = "another inside";
}
console.log(a); // prints "inside"
console.log(b); // prints "another inside"
话虽如此,如果您需要添加大括号以使代码更易于导航(阅读:ignore),则表明函数太长,应将其拆分为命名良好的函数。

如他的评论所示,大括号限制变量范围的说法是错误的

var a = "outside";
{
    var a = "inside";
    var b = "another inside";
}
console.log(a); // prints "inside"
console.log(b); // prints "another inside"
话虽如此,如果您需要添加大括号以使代码更易于导航(阅读:ignore),则表明函数太长,应将其拆分为命名良好的函数。

如他的评论所示,大括号限制变量范围的说法是错误的

var a = "outside";
{
    var a = "inside";
    var b = "another inside";
}
console.log(a); // prints "inside"
console.log(b); // prints "another inside"
话虽如此,如果您需要添加大括号以使代码更易于导航(阅读:ignore),则表明函数太长,应将其拆分为命名良好的函数。

如他的评论所示,大括号限制变量范围的说法是错误的

var a = "outside";
{
    var a = "inside";
    var b = "another inside";
}
console.log(a); // prints "inside"
console.log(b); // prints "another inside"


话虽如此,如果您需要添加大括号以使代码更易于导航(阅读:ignore),则表明函数太长,应将其拆分为命名良好的函数。

“我理解大括号内声明的变量的范围有限”-您的理解是错误的。就Javascript而言,大括号根本不起任何作用。这只是一个风格上的选择。为了扩展上面的注释,JavaScript没有块范围;它只有功能范围。。。我有一种唠叨的感觉,说学生正在使用
var foo={a:1,b:2}@deceze My bad我在一篇Java帖子中读到了它,并认为它适用于基于C的语言。显然,我还有很多东西要学。“我知道大括号内声明的变量的作用域是有限的”-你的理解是错误的。大括号在Javascript方面没有任何作用。这只是一个风格上的选择。为了扩展上面的注释,JavaScript没有块范围;它只有功能范围。。。我有一种唠叨的感觉,说学生正在使用
var foo={a:1,b:2}@deceze My bad我在一篇Java帖子中读到了它,并认为它适用于基于C的语言。显然,我还有很多东西要学。“我知道大括号内声明的变量的作用域是有限的”-你的理解是错误的。大括号在Javascript方面没有任何作用。这只是一个风格上的选择。为了扩展上面的注释,JavaScript没有块范围;它只有功能范围。。。我有一种唠叨的感觉,说学生正在使用
var foo={a:1,b:2}@deceze My bad我在一篇Java帖子中读到了它,并认为它适用于基于C的语言。显然,我还有很多东西要学。“我知道大括号内声明的变量的作用域是有限的”-你的理解是错误的。大括号在Javascript方面没有任何作用。这只是一个风格上的选择。为了扩展上面的注释,JavaScript没有块范围;它只有功能范围。。。我有一种唠叨的感觉,说学生正在使用
var foo={a:1,b:2}@deceze My bad我在一篇Java帖子中读到了它,并认为它适用于基于C的语言。我显然还有很多东西要学。所以说我的学生所做的不会对他的代码的工作方式产生负面影响,这是正确的吗?至于他的函数太长,它甚至不是一个函数,它只是一个长串的if/elseif语句。我承认我有很多东西要学,而我的学生只上了第二周的课。这个特殊的学生正在独自出击,但我想在开始之前改掉任何坏习惯。谢谢你的帮助。一长串的
if/else
有时也可以被重构成更可读/简洁的东西。我个人不喜欢额外的大括号,因为它增加了缩进,没有任何好处。我很感激你的意见,我完全同意你的意见,但我希望得到一个明确的“是的,这就是为什么…”或“不是。这就是为什么…”我想我在@deceze的评论中得到了“不是”,只是想确定一下。它没有任何作用。“生产块:{StatementList}的计算如下:返回计算StatementList的结果。”这很好。谢谢@RobH!所以说我的学生所做的不会对他的代码的工作方式产生负面影响,这是正确的吗?至于他的函数太长,它甚至不是一个函数,它只是一个长串的if/elseif语句。我承认我有很多东西要学,而我的学生只上了第二周的课。这个特殊的学生正在独自出击,但我想在开始之前改掉任何坏习惯。谢谢你的帮助。一长串的
if/else
有时也可以被重构成更可读/简洁的东西。我个人不喜欢额外的大括号,因为它增加了缩进,没有任何好处。我很感激你的意见,我完全同意你的意见,但我希望得到一个明确的“是的,这就是为什么…”或“不是的,这就是为什么…”我想我在@deceze的评论中得到了“不是”,只是想确定一下。它没有用