1.js的声明
(1)在head标签中使用script标签进行js代码域的声明
<script type="text/javascript"> ... </script>
作用:
声明js代码域
特点:
js的代码只会作用于当前网页
(2)在head标签中使用script标签引入外部声明好的js文件
<script src="***.js" type="text/javascript" charset="utf-8"/>
作用:
引入外部声明好的js文件
特点:
实现js代码的重复使用,避免代码的冗余
注意:
因为js在HTML代码中是一门单独的语言,可以声明在文档中的任意位置
一般情况下声明在head标签中
2.js的变量
(1)js的变量声明
js中的所有变量声明只有var关键字
<script type="text/javascript"> var a=123; var a1=3.1415926; var a2="js"; var a3='k'; var a4=true; var a5=new Date(); </script>
注意:
js的变量名严格区分大小写
js中的字符串可以使用双引号也可以使用单引号
js中可以声明同名变量,不会报错,后面会将前面声明覆盖
(2)js中的数据类型
数据类型判断关键字:typeof
数据类型:
number:数字类型
string:字符串类型,注意,在js中字符可以使用单引号也可以使用双引号
boolean:布尔类型
object:对象类型
null:空对象赋值,引用类型的数据赋值为null
Undefined:变量声明不赋值的情况下,默认值是undefined
注意:
在js代码中尽可能的给声明的变量赋初始值
(3)js的变量强转
使用Number()函数,将其他数据类型转换为数值类型,转换失败返回NaN(not a number)
使用Boolean()函数,将其他数据类型转换为布尔类型,有值返回true,无值返回false;
(4)特殊值
null object
undefined undefined
NaN number
3.js的运算符
算术运算符:
加法:+
减法:-
乘法:*
除法:/
余数:%
number类型和number类型
number类型和boolean类型(true--1,false--0)
number类型和string类型(*,/,%,-)
string类型和string类型的数字(*,/,%,-)
string类型数字和boolean类型(*,/,%,-)
在算术运算符中如果两边的数据类型不是number,会使用Number()强转后再进行运算
注意:
在字符串中“+”符号代表的是字符串连接符,不参与运算
逻辑运算符:
& && | || !与java中一致
关系运算符:返回值true或者false
!= >= <= > <
自增运算符
++ -- += -=
4.js的特殊关系运算符
等值运算符:==
先判断类型,类型一致则直接比较
类型不一致,则先使用Number()进行强转后再进行比较
注意:
null和undefined在做==判断时返回true
var a=1; var a1="1"; var a2=true; var a3="true"; var a4="a"; var a5="a"; alter(a==a1);//true alter(a==a2);//true alter(a==a3);//false alter(a1==a2);//true alter(a1==a3);//false alter(a2==a3);//false alter(a4==a5);//true
等同运算符:===
先判断类型,类型一致再比较内容,内容也一致则返回true
类型不一致,直接返回false
var a=1; var a1="1"; var a2=true; var a3="true"; var a4="a"; var a5="a"; alter(a===a1);//false alter(a===a2);//false alter(a===a3);//false alter(a1===a2);//false alter(a1===a3);//false alter(a2===a3);//false alter(a4===a5);//true
5.js的逻辑结构
if结构
单分支结构:
if(判断条件){执行体}
双分支:
if(判断条件){执行体}else{执行体}
多分支:
if(判断条件){执行体}else if(判断条件){执行体}...else{执行体}
switch选择结构
switch(变量){
case :break;
case :break;
...
default:break;
}
注意:
判断的变量可以是number类型也可以是string类型,但是不要混用
6.js的循环结构
for循环
for(变量;条件;迭代条件){循环体}
while循环
while(循环条件){循环体}
do{}while{}循环
do{循环体}while(循环条件)