JavaScript基础
1.JavaScript基本语法
1.1 标识符与关键字
在JavaScript中定义的符号必须以字母、下划线(_)或美元符号($)开始,其他字符可以是字母、数字、下划线或美元符号。但是,标识符不能是JavaScript中的保留关键字且不能包含空格。
例如,下面是定义“电话号码”的合法标识。
telephoneNum
telephone_Num
_telephoneNum
$telephoneNum
tl
- JavaScript的标识符对大小写敏感。 例如telephoneNum和telephonenum是两个不同的标识符.
1.2 JavaScript语法的特殊规则
- JavaScript对大小写非常敏感.
- 一般情况下,JavaScript每条执行语句的后面都要以半角分号(;)来结束.但是当JavaScript的代码作为属性值时,最后一句后面的分号可以省略,例如:
action="javascript:checkDay()"
//省略了最后的分号 - 在JavaScript中,"//" 表示注释一行代码,注释多行代码时使用"/* " 开头,以
" */ " 结尾.另外,"/ **/" 中可以嵌套"//",但不能嵌套"/ **/".
1.3 空白字符
空白字符包括空格,制表符和换行符等,在编写脚本代码时占据一定的空间,但脚本被浏览器解释执行时无任何作用.脚本程序员经常使用空格作为空白字符,JavaScript脚本解释器是忽略任何多余空格的.
2.数据类型
JavaScript含有5种基本数据类型(或称简单数据类型),分别是数字型,布尔型,字符串型,空值型和未定义型.基本数据类型定义的数据可以是常量,也可以是变量.
2.1 常量
- 与基本数据类型相对应的常量分别是数字型常量,布尔型常量 ,字符串型常量和空值.
(1)数字型常量:一般来说,数字型常量可以常用十进制,八进制和十六进制来表示.
(2)布尔型常量:有两个值true和false.通常在流程控制中作为判断条件.
(3)字符串型常量:用单引号或双引号引起来的字符.
(4)空值:即表示什么也没有,用null表示. - JavaScript中以反斜杠( \ )作为转义字符来表示一些特殊字符,如\ \表示斜杠,\n表示换行.
2.2 变量
- 变量是指程序中一个已经命名的存储单位,它的主要作用是为数据操作提供存放信息的容器.
2.2.1 变量命名
JavaScript变量的命名规则如下:
(1)必须以字母或下划线开头,中间可以是数字,字母或下划线.
(2)变量名不能包含空格,加号,减号等符号.
(3)不能使用JavaScript中的关键字.
(4)JavaScript的变量名是严格区分大小写的.
2.2.2 变量声明
在JavaScript中,使用关键字var声明变量.
(1)声明名为age的变量 例如 var age;
(2)变量赋值和变量声明可以同时进行 例如 var age = 25;
(3)也可在一句JavaScript脚本代码中同时声明两个以上的变量,例如 var age,name;
(4)同时初始化两个以上的变量 例如 var age=35,name="tom";
2.2.3 变量作用域
(1) 全局变量:可以在当前文档中的任何脚本位置被调用
<script>
var msg="全局变量";
function show(){
msg="局部变量";
}
show();
alert(msg);
</script>
将显示"局部变量";
(2) 局部变量:只能在此变量声明语句所属的函数内部使用.
<script>
var msg="全局变量";
function show(){
var msg;
msg="局部变量";
}
show();
alert(msg);
</script>
将显示"全局变量"
2.3 String型
2.4 Number型
2.5 布尔型
布尔型变量只能有两个值:true或false.
2.6 undefined型
undefined即为未定义类型,用于不存在或者没有被赋初始值的变量或对象的属性,如下列语句定义变量name为undefined型:
var name;
2.7 null型
null型数据表示空值,作用是表明数据空缺的值,一般在设定已存在的变量(或对象的属性)为空时较常用.区分undefined型和null型数据比较麻烦,一般将undefined型和null型等同对待.
2.8 Function型
Function型表示函数,可以通过new操作符和构造函数Function()来动态创建所需功能的函数,并为其添加函数体.例如:
var myFunction = new Function()
{
staments;
}
3.运算符
3.1 算术运算符
给定y=5
运算符 | 描述 | 例子 | 结果 |
---|---|---|---|
++ | 累加 | x=++y或x=y++ | x=6 |
-- | 递减 | x= --y或x= y-- | x=4 |
3.2 赋值运算符
给定x=10和y=5
运算符 | 例子 | 等价于 | 结果 |
---|---|---|---|
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y | x=0 |
3.3 比较运算符
给定x=5
运算符 | 描述 | 例子 |
---|---|---|
== | 等于 | x==8为false |
=== | 全等(值和类型) | x===5 为 true;x==="5" 为 false |
3.4 逻辑运算符
给定x=6和y=3
运算符 | 描述 | 例子 |
---|---|---|
&& | and | (x < 10 && y > 1) 为 true |
|| | or | (x == 5 || y == 5) 为 false |
! | not | ! (x == y) 为 true |
3.5 条件运算符
语法格式如下:
variable name = (condition) ? value1 : value2;
例子:
greeting = (visitor == "PRES") ? "Dear President " : " Dear ";
如果变量visitor中的值是"PRES",则向变量greeting赋值"Dear President";否则赋值"Dear";