JavaScript中小括号有五种语义,中括号有四种语义,而大括号也有四种语义。小括号:语义1,函数声明时参数表(形参)语义2,和一些语句联合使用以达到某些限定作用(if、for等)语义3,和new一起使用用来传值(实参)语义4,作为函数或对象方法的调用运算符(如果定义了参数也可与语义3一样传实参)语义5,强制表达式运算(常用有eval解析JSON和匿名函数自执行)中括号:语义1,声明数组语义2,取数组成员语义3,定义对象成员(可以不遵循标识符规则,可以以数字开头定义标识符)语义4,取对象成员大括号:语义1,组织复合语句,这是最常见的语义2,对象直接量声明(赋值对象)语义3,声明函数或函数直接量赋值语义4,结构化异常处理的语法符号(try...catch语句)
首先声明一点:任何编译器/解释器和程序在大多数情况下都是无法替你直接找出哪个地方少了大括号的(不然它就干脆直接替你纠错了),所以都需要你人工排错。
第一步:查看浏览器提供的错误信息,以便快速定位到出错的代码块,缩小了查找范围。
第二步:由内层向外层逐步检查相互匹配的括号。
建议:
1、使用专业的代码编辑器,带有高亮匹配括号的功能,方便你人工检查(如果少了括号,则编辑器在少了括号的那层嵌套和更外层嵌套的两个高亮括号都是错误的高亮,你从最外层嵌套开始向内层寻找,很快就能找出来)。
2、养成良好的代码风格,合理使用缩进,这会使你在排错时事半功倍。
如图: