第三课、JavaScript的语法与关键字
1、JavaScript的语法
字符串、数字、布尔、数组、对象、Null、Undefined
1、js的变量区分大小写
username userName 这是两个不同的变量
2、每行结尾的分号可有可无,如果语句的结束处没有分号,那么js会自动将这行代码的结尾作为语句的结尾。
alert("Hello World");
alert("Hello World")
3、变量是弱类型
定义变量时至使用var运算符。
比如:var username="tom";正确
var age=30;正确
int age=30;错误
4、使用大括号标签代码块
{ //代码} 被封装在大括号内的语句按照顺序执行。
5、注释
1、单行注释 //
单行注释使用双斜线"//" 开头,在"//"后面的文字即为注释内容,
注释的内容在代码执行过程中不起作用。
var now=new Date();//获取日期对象
2、多行注释
多行注释以"/*"开头,以"*/"结尾,在两者之间的内容为注释内容,
在代码执行过程中不起任何作用。
/*
*功能:获取当前日期
*作者:tom
*/
function getClock(){
//内容
}
2、JavaScript中的关键字
var username="tom";
关键字不能用作变量名,函数名以及循环标签。
abstract continue finally instanceof private this
boolean default float int public throw
break do for interface return typeof
byte double function long short true
case else goto native static var
catch extends implements new super void
char false import null switch while
class final in package with synchronized
第四课、JavaScript的数据类型
var flag=true;
1、数值型
整型:123 //十进制
0123 //八进制,以0开头
0x123 //十六进制,以0x开头
浮点型:整数部分加小数部分组成,只能用十进制来表示,不过可以使用科学记数法
3.1415926 //标准形式的浮点数
3.14E9 //采用科学记数法来表示,代表的是3.14乘以10的9次方
2、字符型
字符型数据是使用单引号或者双引号括起来的一个或者多个字符。
'a' 'Hello World'
"a" "Hello World"
JavaScript与Java不一样,js没有char数据类型,如果要表示单个字符,必须
使用长度为1的字符串。
单引号包含双引号:'大家好,我叫"tom"'
双引号包含单引号:"大家好,我叫'tom'"
3、布尔型
布尔型数据只有true或者false。在js中也可以使用整数0代表false,使用非0的
整数来代表true。
4、转义字符
以反斜杠开头的不可显示的特殊字符通常称为控制字符,也被称为转义字符。
\b
退格
\n
换行
\f
换页
\t
Tab符
\r
回车符
\'
单引号
\"
双引号
\\
反斜杠
5、空值
null ,用于定义空的或者不存在的引用。
var a=null;
6、未定义值
已经声明但是没有赋值的变量。
var a;
alert(a);
undefined 是关键字,用来代表未定义值。
第五课、变量的定义与使用
1、变量的命名规则
变量名由字母、数字、下划线组成,但是不能以数字开头。
不能使用JavaScript中的关键字。
严格区分大小写。
username userName
2、变量的声明
var variable;
可以使用一个var 声明多个变量,比如
var now,year,month,date;
可以在声明变量的同时对它进行赋值,也就是初始化。
var now="2015-10-10",year="2015",month="10",date="10";
如果只是声明了变量,没有赋值,那么该变量的默认值是undefined
JavaScript是弱类型,声明的时候不需要指定变量的类型,变量的类型将根据
变量的值来确定。
全局变量的声明:1、在函数体外声明的都是全局变量。无论是否有var 声明。
2、在函数体内部使用var声明的变量是局部变量,不使用var
声明直接赋值的变量是全局变量。
var quanju=123;//这是全局变量
//如果给一个尚未声明的变量赋值时,JavaScript会自动使用该变量创建一个
//全局变量。
quanju1="abc";//这也是全局变量
function test(){
var quanju3="aaaaa";//这是局部变量
quanju2="12345";//这也是全局变量
test2();
}
function test2(){
alert(quanju2);
}
3、变量的作用域
变量的作用域是指变量在程序中的有效范围。
全局变量:定义在所有函数之外,作用于整个代码的变量。
局部变量:定义在函数体内,只作用于函数体内的变量。
第六课、运算符的应用
1、赋值运算符
var userName="tom";//简单赋值运算符
复合赋值运算符
a+=b; //相当于a=a+b;
a-=b; //相当于a=a-b;
a*=b; //相当于a=a*b;
a/=b; //相当于a=a/b;
a%=b; //相当于a=a%b;
a&b=b;//相当于a=a&b;
a|=b; //相当于a=a|b;
a^=b; //相当于a=a^b;
2、算术运算符
+ alert(3+5);
- * / %
++ i=1;j=i++;//j是1,i是2。因为i++是先用后加。
i=1;j=++i;//j是2,i是2。因为++i是先加后用。
-- 同理。
除法运算时,0不能作为除数,如果0是除数,则返回结果为Infinity。
3、比较运算符
< 小于 alert(1<9);//true
> 大于 alert(1>9);//false
<=
>=
== 等于 只根据表面值进行判断,不涉及数据类型。alert("11"==11);
=== 绝对等于 不仅判断表面值,还要判断数据类型是否一样。
!= 不等于 只根据表面值进行判断,不涉及数据类型。
!== 不绝对等于 不仅判断表面值,还要判断数据类型是否一样。
4、逻辑运算符
! 逻辑非。!真=假,!假=真 !("11"===11) 返回true
&& 逻辑与。只有当两个操作数的值都为true的时候,结果才会true。
false&&true 返回值是false
true&&false 返回值为false
true&&true 返回值为true
比如: (1<2)&&(2>3) 返回的是false
|| 逻辑或。只要两个操作数有一个是true,则结果就是true。
false||true 返回值是true
true||false 返回值是true
false||false 返回值是false
比如: (1<2)||(2>3) 返回的是true
5、条件运算符
条件运算符是JavaScript支持的一种特殊的三元运算符。
语法格式: 操作数?结果1:结果2;
如果操作数的值为true,则整个表达式的结果为结果1
如果操作数的值为false,则整个表达式的结果为结果2
var a=30;
var b=28;
var c=a>b?a:b;//30
6、字符串运算符
连接字符串的两种方式
+ 。var a="Hello"+" World";
+=。a+=" Hello EveryOne!";//相当于a=a+"Hello EveryOne!";
第七课、流程控制之if、switch语句
1、if条件判断语句
1、if(expression){
//expression为true的时候执行里面的内容
}
2、if(expression){
//expression为true的时候执行里面的内容
}else{
//expression为false的时候执行里面的内容
}
3、if(expression1){
//expression1为true的时候执行里面的内容
}else if(expression2){
//expression2为true的时候执行里面的内容
}else if(expression3){
//expression3为true的时候执行里面的内容
}else{
//这个else可有可无。如果有的话,则上述条件
//都不满足的时候执行else
}
2、switch语句
语法格式:
switch(expression){
case judgement1:statement1:break;
case judgement2:statement2:break;
...
default:defaultstatement;
}
示例:
var username="tiger2";
switch(username){
case "jerry":alert("小老鼠");break;
case "tom":alert("猫");break;
case "tiger":alert("老虎");break;
default:alert("没有匹配到任何值");
}
课下作业:把以上示例用if语句来实现。
第八课、流程控制之for、while、do-while语句
1、for循环语句
语法格式:for(①initialize;②test;④increment){
③statement
}
①->②(true)->③->④->②(true)->③->④->......
①->②(true)->③->④->②(false) for循环结束
示例:
var sum=0;
for(var i=1;i<=10;i++){
sum+=i;
}
alert("总和为:"+sum);
2、while循环语句
while循环的循环体可能一次都不执行。
语法格式:while(①expression){
②statement
}
①(true)->②->①(true)->②.....
①(false) 直接终止while循环。
示例:
var sum1=0;
var i=100;
while(i<=1){
sum1+=i;
i++;
}
alert("while总和为:"+sum1);
3、do-while循环语句
do-while循环的循环体能够保证至少执行一次。
语法格式:
do{
①statement
}while(②expression);
示例:
var sum2=0;
var i2=1;
do{
sum2+=i2;
i2++;
}while(i2<=10);
alert("do-while总和为:"+sum2);
while循环是 先判断条件是否成立,然后再根据判断的结果是否执行循环体。也就是
说循环体有可能一次都执行不了。
do-while循环是 先执行一次循环体,然后再判断条件是否成立。所以不管条件
是否成立,至少能够执行一次。
第九课、函数的定义与调用
1、函数的定义
function functionName([parameter1,parameter2,...]){
statments;
[return expression;]
}
function是必须要写的,因为这是定义函数的关键字。
functionName 是函数名,必须要写,而且在同一个页面中,函数名是唯一的。
并且区分大小写。
parameter:可选参数,用于指定参数列表。当使用多个参数时,参数间使用
逗号进行分隔。一个函数最多可以有255个参数。
statements:必选参数,这是函数体,用于实现函数功能的语句。
expression:可选参数,用于返回函数值。expression可以是任意的表达式、变量或常量。
//函数定义
示例:function account(price,number){
var sum=price*number;
return sum;
}
var i=account(10,5);//函数调用
2、函数的调用
function checkName(){
var str=form1.userName.value;
if(str==""){
alert("用户名不能为空");
}else{
alert("用户名可以注册");
}
}
请输入姓名:
第十课、事件与事件处理
1、事件
什么是事件?例如在页面载入完毕时,将触发onload(载入)事件;当用户单击按钮时,
将触发按钮的onclick事件等。
常用事件:
onabort:
对象载入被中断时触发
onblur:
元素或窗口本身失去焦点时触发
onchange:
改变
获取焦点后内容发生过改变时触发
onerror:
出现错误时触发
onfocus:
任何元素或窗口本身获得焦点时触发
onkeydown:
键盘键(包括Shift、Alt等)被按下时触发
onkeypress:
键盘键被按下,并产生一个字符时触发。也就是说按下Shift或Alt等键
不会触发
onkeyup:
释放键盘上的按键时触发
onload:
页面完全载入后触发
onunload:
页面完全卸载后触发
onclick:
单击鼠标左键时触发。当光标的焦点在按钮上,并按Enter键时也会触发
ondblclick:
双击鼠标左键时触发
onmousedown:
单击任何一个鼠标按键时触发
onmousemove:
鼠标在某个元素上移动时持续触发
onmouseout:
鼠标从指定的元素上移开时触发
onmouseover:
鼠标移到某个元素时触发
onmouseup:
释放任意一个鼠标按键时触发
onreset:
单击重置按钮时,在
onresize:
窗口或框架的大小发生改变时触发
onscroll:
在任何带滚动条的元素或窗口上滚动时触发
onselect:
选中文本时触发
onsubmit:
单击提交按钮时,在
2、事件处理
事件处理程序是用于响应某个事件而执行的处理程序。事件处理程序可以是任意的
JavaScript语句,通常使用函数来对事件进行处理。
第一种方式,在HTML中绑定:
第二种方式,在JavaScript中绑定:
①
第二种方法要注意先执行①,才能执行②。 这样的话,需要把js放在html的后面,那么就要放在