任何一门语言,都有着自己的语法,JavaScript 也不例外,JavaScript 当中大量借鉴了C及其它C语言的语法,但比这些都要宽松。JavaScript中是严格**区分大小写**的,变量名、函数名、标识符等等,都是区分大小写的。
## 标识符
*****
所谓标识符,就是指变量、函数、属性的名字或者函数中的参数,这些命名必须遵循以下规定:
* 必须以字母、下划线或 $ 符开头
* 其余部分可以为 字母、数字、下划线或 $ 符号
* 虽然除开头以外的部分,可以用ASCII或 Unicode字母字符命名,但不推荐这么做
* 尽量以驼峰方式命名,命名尽量要做到有意义,要做到一目了然
* 不能使用保留字、关键字等为关键字命名
## 注释
*****
在 JavaScript 中的注释分为两种,单行注释和多行注释
* 单行注释使用的是双斜线(//)
~~~
// 这是单行注释
~~~
* 多行注释,使用斜线和星号(/\*)开头,又以星号和斜线(\*/)结尾
~~~
/*
这里是多行注释
*/
~~~
## 严格模式
*****
这种模式使得Javascript在更严格的条件下运行。设立"严格模式"的目的,主要有以下几个:
* 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
* 消除代码运行的一些不安全之处,保证代码运行的安全;
* 提高编译器效率,增加运行速度;
* 为未来新版本的Javascript做好铺垫。
同样的代码,严格模式和非严格模式下面,运行的结果可能会不一样。使用方法为在开头加上 `"use strict"` ,如:
~~~
<script type="text/javascript">
"use strict";
// JavaScript 代码
</script>
~~~
如果需要在某个函数中使用严格模式,也可以在函数内部的开头加上 `"use strict"`,如:
~~~
function fn(){
"use strict";
//函数体内容
}
~~~
## 语句
****
在JavaScript 语句的结尾,尽量使用英文半角分号(;)结束,虽然不使用分号结束大部分代码也可以正常执行,但非常不推荐这样做,因为程序解析时,还得花时间去看实际这句话是从哪里结束的,会浪费一定的性能。
~~~
var name = "张三" //可以正常执行,但不推荐
var age = 20; //也可以正常执行
~~~
在流程控制或条件判断的语句中,尽量使用左花括号({)开始,右花括号(})结束,虽然条件控制语句后面执行一句代码时,可以不使用花括号,但不推荐这样做,加上后代码可读性更高,并且可以避免很多错误。
~~~
if (var) alert(var); //可以正常执行,但不推荐
if (var) {
alert(var); //推荐做法,加上花括号
}
~~~