IE11 JavaScript分号的使用方法
JavaScript的分号在代码的末尾是有很大作用的,不仅仅是在IE11中。因为JavaScript是一种类C语言的语言,可以允许在其语句的末尾省略分号,但是在遇到特定情况时,这种做法会导致令人惊奇的问题出现。下面是一个举例子说明的示例:
var a = 1 var b = 2 var c = a + b
在这个简单的例子中,所有的变量都在一行中定义,然后每个变量都省略了分号并且结果赋值给了一个新的变量。这段代码会产生下面的结果:
var a = 1var b = 2var c = a + b
这样的结果是无法被JavaScript引擎正确地解释的,因为它将它们看作单个语句:
var a = 1; var b = 2; var c = a + b;
为了避免这种问题,我们应该在每个语句的末尾加上分号,这样JavaScript引擎才能正确识别我们的代码:
var a = 1; var b = 2; var c = a + b;
分号可以放在语句的末尾,也可以包含在小括号内。例如,在if语句的末尾,分号可以省略:
if (a === b) console.log('a与b相同')
但是注意,在下面的示例中,分号不能省略,否则将导致语法错误:
var a = 1 + 2 ;(function() { console.log(a) })()
在这个示例中,我们在一行中定义了一个变量,然后在分号和一个自执行函数之间添加了一个分号。这样做的原因是没有在前面的行末加上分号,这会使引擎在处理下一行时会导致错误的结果。通过在第一行的末尾添加分号,我们可以防止这种情况发生。