JavaScript语法基础
1. 语言编码:
JavaScript语言建立在Unicode字符集基础之上,因此在脚本中,用户可以使用双字节的字符命名常量、变量或函数等。
var 我 = “张三”; //声明双字节变量名称
document.write("<h1>" + 我 + "</h1>");
但是,考虑到JavaScript脚本嵌入在网页中,如果网页编码与脚本字符编码不同,将会存在风险,所以建议用户不要使用中文命名。但在注释中可以考虑使用中文字符。
2. 大小写敏感:
与HTML标签和CSS样式码不同,JavaScript对于大小写是非常敏感的。为了避免粗错,用户养成使用小写字符命名变量的习惯:
- 对于保留字可根据系统的默认大小写来输入
- 而对于特定变量,可以使用大写字符,或者以大写字符开头,如类、构造函数等
var Class = function(){};//声明类型,习惯首字母大写
var myclass = new Class();//声明变量,习惯小写
对于复合型变量,可以遵循一般编程的驼峰式命名法。
3. 代码格式化:
JavaScript一般会忽略分隔符,如空格符、制表符和换行符。在保证不引起歧义的情况下,用户可以利用分隔符对脚本进行排版。但不能再连在一起的变量名、关键字中间插入分隔符,因为JavaScript引擎是根据分隔符来区分词的。
如果需要在字符串、表达式中间插入分隔字符,可以转义分隔字符。
例如:使用"\t"表示制表符,使用"\n"表示换行符,使用"\s"表示空白符(包括空格、制表符、换页符或换行符)。
4. 代码注释:
JavaScript支持两种注释形式:
- 单行注释:以双斜杠来表示
//这是注释,请不要解析我
- 多行注释:以" /* " 和 " */ "分隔符进行标识
/*
多行注释
请不要解析我们
*/
5. 标签:
在JavaScript脚本中可以加上标签,方便JavaScript程序进行快速定位。标签一般由一个合法的字符名称加上一个冒号组成,标签可以放在任意行的起始位置。这样就可以为改行设置一个标记,然后再结构体中使用break、continue等跳转语句跳出循环结构。
示例:循环输出1~5,跳过2
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
loop:for(var j = 1; j < 6; j++){//定义循环,并添加标标签名称
if(j == 2)//当变量j的值为2时,跳出循环重新开始
continue loop;
document.write("<br>" + j);//输出变量的值
}
</script>
</head>
<body>
</body>
</html>
示例2:使用continue loop直接跳出到外层循环
<script>
loop:for(var j = 1; j < 6; j++){//定义外循环,并添加标签名称
document.write("<br>" + j + " : ");
for(var i = 1; i < 6; i++){//定义内循环
if(i == 3)//当临时变量i的值为3时,跳出外循环,重新开始
continue loop;
document.write(i);
}
}
</script>
6. 关键字和保留字:
关键字是指JavaScript默认定义具有特殊含义的词汇,如指令名、语句名、函数名、方法名、对象名、属性名。
JavaScript语言的关键字比较多,如下表:
JavaScript关键字:
break | case | catch | continue | default |
---|---|---|---|---|
delete | do | else | finally | for |
function | if | in | instanceof | new |
return | switch | this | throw | try |
typeof | var | void | while | with |
JavaScript保留字:
abstract | boolean | byte | char | class |
---|---|---|---|---|
const | debugger | double | enum | export |
extends | final | float | goto | implements |
import | int | interface | long | native |
package | private | protected | public | short |
static | super | synchronized | throws | transient |
volatile |