第七课、流程控制之if、switch语句
一、if条件判断语句
一、if(expression){
//expression为true的时候执行里面的内容
}
二、if(expression){
//expression为true的时候执行里面的内容
}else{
//expression为false的时候执行里面的内容
}
三、if(expression1){
//expression1为true的时候执行里面的内容
}else if(expression2){
//expression2为true的时候执行里面的内容
}else if(expression3){
//expression3为true的时候执行里面的内容
}else{
//这个else无关紧要。若是有的话,则上述条件
//都不知足的时候执行else
}
二、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语句
一、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);
二、while循环语句
while循环的循环体可能一次都不执行。
语法格式:while(①expression){
②statement
}
①(true)->②->①(true)->②.....
①(false) 直接终止while循环。
示例:
var sum1=0;
var i=100;
while(i<=1){
sum1+=i;
i++;
}
alert("while总和为:"+sum1);
三、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循环是 先执行一次循环体,而后再判断条件是否成立。因此无论条件
是否成立,至少可以执行一次。
第九课、函数的定义与调用
一、函数的定义
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);//函数调用
二、函数的调用
function checkName(){
var str=form1.userName.value;
if(str==""){
alert("用户名不能为空");
}else{
alert("用户名能够注册");
}
}
<body>
<form name="form1" method="post" action="">
请输入姓名:<input type="text" name="userName" id="userName" size="30"/>
<br/>
<input type="button" value="检测" onclick="checkName()"/>
</form>
</body>
第十一课、String对象介绍
一、属性
在JavaScript中能够用单引号或者双引号括起来的一个字符串看成一个字符串对象
的实例,因此能够在某个字符串后面加上.去调用String对象的属性和方法。
length:返回String对象的长度。表明的是字符串当中字符的个数。
每一个汉字按一个字符计算
"你们好".length;//值为3.
"Hello World".length;//值为11
二、经常使用方法
indexOf(subsString[,startIndex])
用于返回第一次出现子字符串的字符位置。若是没有找到指定的子字符串,
则返回-1。
subString:必选参数。要在String对象中查找的子字符串
startIndex:可选参数。
示例:
var str="admin@java1995.com";
var index=str.indexOf("@",6);
alert(index);
substr(start[,length])
用于返回指定字符串的一个子串。
start:必选参数,用于指定获取子字符串的起始下标。若是是一个负数,
那么表示从字符串的尾部开始算起始位置。-1表明最后一个字符,
-2表明倒数第二个字符,以此类推。
length:可选参数,用于指定字符串中字符的个数。若是省略,则返回从
start开始位置到字符串结尾的子串。
示例:
var word="One World One Dream!";
var subs=word.substr(4,5);// World
var word="One World One Dream!";
var subs=word.substr(4);// World One Dream!
substring(from[,to])
from:用于指定要获取子字符串的第一个字符在string中的位置
to:可选参数,指定最后的位置。
[from,to) 包含from,不包含to.因此若是要获取to的字符,须要to+1
示例:
var word="One World One Dream!";
var subs=word.substring(4,8+1);// World
split(delimiter[,limit])
用于将字符串分割为字符串数组。
delimiter:指定的分隔符
limit:可选参数,用于指定返回数组的最大长度。
返回值:一个字符串数组
示例:
var str="www.java1995.com";
var arr=str.split(".");
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
//以上代码弹出的值依次为:www java1995 com
var str="www.java1995.com";
var arr=str.split(".",2);
for(var i=0;i<arr.length;i++){
alert(arr[i]);
}
//以上代码弹出的值依次为:www java1995
第十二课、Math与Date对象介绍
一、Math对象
在使用Math对象时不能使用new关键字建立实例,而是直接使用对象名.成员 这种格式
alert(Math.PI);
alert(Math.random());
alert(Math.max(3,76,21,90,5,6,-5,-903));
alert(Math.min(3,76,21,90,5,6,-5,-903));
二、Date对象
var now=new Date();//建立Date对象
var year=now.getFullYear();//获取年份
var month=now.getMonth()+1;//得到月份
var date=now.getDate();//获取日期
var day=now.getDay();//获取星期
var hour=now.getHours();//获取小时
var minutes=now.getMinutes();//获取分钟
var sec=now.getSeconds();//获取秒
第十三课、Window对象介绍
window对象即为浏览器窗口对象,是全部对象的顶级对象。window对象提供了许多
属性和方法,这些属性和方法被用来操做浏览器页面的内容。
window对象和Math对象同样,也不须要使用new关键字建立对象实例,而是直接使用
对象名.成员 的格式来访问其属性或方法。
一、window对象的经常使用属性
document
对窗口或框架中含有文档的document对象的只读引用
defaultStatus
一个可读写的字符,用于指定状态栏中的默认消息
frames
表示当前窗口中全部的frame对象的集合
location
用于表明窗口或框架的location对象。若是将一个URL赋给该属性,、
那么浏览器将加载并显示该URL指定的文档。
length
窗口或框架包含的框架个数
history
对窗口或框架的history对象的只读引用
name
用于存放窗口的名字
status
一个可读写的字符,用于指定状态栏中的当前信息
top
表示最顶层的浏览器窗口
parent
表示包含当前窗口的父窗口
opener
表示打开当前窗口的父窗口
closed
一个只读的布尔值,表示当前窗口是否关闭。
self
表示当前窗口
screen
对窗口或框架的screen对象的只读引用,提供屏幕尺寸、颜色深度
等信息。
navigator
对窗口或框架的navigator对象的只读引用,经过navigator对象
能够得到与浏览器相关的信息
二、window对象的经常使用方法
因为window对象使用十分频繁,并且又是其余对象的父对象,因此在使用window对象
的属性和方法时,JavaScript容许省略window对象的名称。
alert()
弹出一个警告对话框
confirm()
显示一个确认对话框,单击确认按钮时返回true,
不然返回false
prompt()
弹出一个提示对话框,并要求输入一个简单的
字符串
blur()
把键盘的焦点从顶层浏览器窗口中移走
close()
关闭窗口
focus()
把键盘的焦点赋予给顶层的浏览器窗口
open()
打开一个新窗口
scrollTo(x,y)
把窗口滚动到(x,y)坐标指定的位置
scrollBy(offsetx,offsety)
按照指定的位移量滚动窗口
setTimeout(timer)
在通过指定的时间后执行代码
clearTimeout()
取消对指定代码的延迟执行
moveTo(x,y)
将窗口移动到一个绝对位置
moveBy(offsetx,offsety)
将窗口移动到指定的位移量处
resizeTo(x,y)
设置窗口的大小
print()
至关于浏览器工具栏的打印按钮
setInterval()
周期执行指定的代码
clearInterval()
取消周期性的执行代码
第十四课、DOM技术概述
一、DOM概述 DOM是一种与浏览器、平台及语言无关的接口,可以以编程方式访问和操做文档。
一、DOM是Document Object Model(文档对象模型)的简称。
二、提供了访问、操做该模型的API。
二、DOM的分层结构 在DOM中,文档的层次结构被表示为树形结构。树是倒立的,树根在上,枝叶 在下面,树的节点表示文档中的内容。 在树形结构中, 直接位于一个节点之下的节点被称为该节点的子节点; 直接位于一个节点之上的节点被称为该节点的父节点; 具备相同父节点的节点是兄弟节点; 一个节点的下一个层次的节点集合是该节点的后代; 一个节点的父节点,祖先节点以及其余全部位于他之上的节点都是该节点的祖先;
第十五课、DOM遍历文档
一、遍历文档
在DOM中,HTML文档各个节点被视为各类类型的Node对象,而且将HTML文档表示为
Node对象的树。
Node对象的属性
属性
类型
描述
parentNode
Node
节点的父节点,没有父节点是为null
childNodes
NodeList
节点的全部子节点的NodeList
firstChild
Node
节点的第一个子节点,没有则为null
lastChild
Node
节点的最后一个子节点,没有则为null
nodeName
String
节点名
nodeValue
String
节点值
previousSibling Node
上一个兄弟节点
nextSibling
Node
下一个兄弟节点
nodeType
short
表示节点类型的常量
Element <a > <img >
Text 文本
第十六课、DOM操做文档
Node对象的经常使用方法
方法
描述
insertBefore(newChild,refChild)
在现有节点refChild以前插入节点
newChild
replaceChild(newChild,oldChild)
将子节点清单中的子节点oldChild
换成newChild,并返回oldChild节点
removeChild(oldChild)
将子节点清单中的子节点oldChild
删除,并返回oldChild节点
appendChild(newChild)
将节点newChild添加到该节点的子节点
清单末尾。若是newChild已经在树中,
则先将其删除
hasChildNodes()
返回一个布尔值,表示节点是否有子节点
cloneNode(deep)
返回这个节点的拷贝(包括属性)。若是
deep为true则拷贝全部包含的节点,不然
只拷贝这个节点。
课下做业:新增一个功能,可以删除指定的行数。删除以前要进行判断输入的内容
是否合法。
第十七课、正则表达式(1)
一个正则表达式是由普通字符(如a~z)以及特殊字符(称为元字符)组成的模式字符串。
该模式字符串描述在查找文字主体时待匹配的一个或多个字符串。正则表达式做为一
个模板,将某个字符模式与所搜索的字符串进行匹配。
一、字符类
代码
说明
示例
[...]
匹配方括号中字符序列的任意一个
/[012]/能够与0A1B2C中的字符0或1或2匹配
字符。其中可使用连字符"-"匹配
/[0-5]/能够与a3g02gsf91dfs4中的0到5
指定范围内的任意字符。
之间的任意数字字符匹配
[^...]
匹配方括号中字符序列未包含的任意
/[^012]/能够与0A1B2C中的除0、一、2
字符。其中可使用连字符"-"匹配不
以外的任意字符匹配,在这里匹配A或B或C
在指定范围内的任意字符。
/[^a-z]/能够与a3g02gsf91dfs4不在小写
字母a-z之间的任意字符匹配。
.
匹配除了换行和回车以外的任意字符,
无
至关于[^\r\n]
\d
匹配任意一个数字字符,至关于[0-9]
/\d\d/能够匹配wy32k中的32
\D
匹配任意非数字字符,至关于[^0-9]
/\D/能够匹配wy3k中的w或y或k
\s
匹配任意空白字符,如空格、制表符、
/\s\d\d/能够匹配my age is 20.中的 20
换行符等,至关于[\t\n\x0B\f\r]
注意2前面的空格。
\S
匹配任意非空白符,至关于[^\t\n\x0B\f\r] /\S/能够匹配A B中的A或B
\w
匹配任何英文字母、数字字符以及下划线,
/\w/能够匹配shdf82w09_+&^中的字母、
至关于[a-zA-Z0-9_]
数字、下划线
二、量词
代码
说明
示例
?
匹配前一项0次或1次
/JS?/能够匹配JScript中的JS或者JavaScript中
的J
+
匹配前一项1次或屡次,
/JS+/能够匹配JS,也能够匹配JSSSS或者JSSSSSS,
但至少出现1次
也就是说能够匹配J后面出现一个或多个S。
*
匹配前一项0次或者屡次,
/bo*/能够匹配b、bo、boo、boooo之类的字符串
也就是任意次
{n}
匹配前一项刚好n次,其中n为
/o{2}/能够匹配book中的两个o,也能够匹配booook
非负整数
中任意两个连续的o
{n,}
匹配前一项至少n次
/o{2,}/不匹配home中的o,由于至少要匹配两个o。
因此能够匹配good或者gooooood中的全部o
{n,m}
匹配前一项至少n次,但不能
/o{2,5}/能够匹配book中的两个o,也能够匹配
超过m次,其中n、m是非负整
boooook中的5个连续的o
数,而且n<=m
在使用{n,m}时,数字与逗号之间不能有空格符
三、指定匹配位置
代码
说明
示例
^
匹配字符串的行开头。
/^g/匹配good中的g,但不匹配bag中的g
^必须出如今指定字符
串的最前面才起做用。
$
匹配字符串的行结尾。
/g$/匹配bag中的g,但不匹配good中的g
$必须出如今指定字符
串的最后面才起做用。
\b
匹配单词的边界
/e\b/匹配"I love seek"中love的e,不匹配seek中的e
\B
匹配单词的非边界
/e\B/匹配"I love seek"中seek的e,不匹配love中的e
四、使用选择匹配符
正则表达式的选择匹配符只有一个"|",使用"|"能够匹配指定的多个选项中的任意一项。
例如/World|Dream/能够匹配"One World One Dream"中的World或者Dream
五、分组
分组就是使用小括号将多个单独的字符或字符类组合成子表达式,以即可以像处理一个
独立的单元那样,用"|"、"*"、"+"或者"?"等来处理他们。好比/J(ava)?Script/能够匹配
JavaScript,也能够匹配JScript
更多资料请加入Java资源库官方群:253190527
Java资源库原创教程《JavaScript脚本语言轻松入门》
讲师:李伟
第十八课、正则表达式(2)
一、经过RegExp类的构造方法建立
\d{3}
语法格式:new RegExp(pattern[,flags])
pattern:必选参数,用于指定须要进行匹配的模式字符串。
flags:可选参数,用于指定正则表达式的标志信息。
g:全局标志。若是设置了该标志,对于某个文本执行搜索或者替换时,将对
文本中的全部匹配部分起做用,不然仅搜索或替换第一次匹配的内容。
i:忽略大小写标志。
m:多行标志。若是不设置这个标志,那么^只能匹配字符串的开头,$只能
匹配字符串的结尾;若是设置了这个标志,那么^能够匹配多行字符串的
每一行的开头,$能够匹配多行字符串的每一行的结尾。
var objExp=new RegExp("\\d",g);
二、经过正则表达式字面量建立RegExp对象
正则表达式字面量由两条斜线//中间加入模式匹配字符串组成。若是还要指定标志
信息,则在最后的斜线/后面加上标志信息,好比g或者i.
var objExp=/\d/g;
三、使用test()方法进行模式匹配
test()方法用于对一个指定的字符串执行模式匹配,若是搜索到匹配的字符,
返回true,不然返回false
var objExp=/\d/g;
objExp.test("abc");
四、使用exec()方法进行模式匹配
exec()方法返回值不是true或者false,而是当没有搜索到匹配的字符时,返回null,
不然返回一个数组,这个数组的第一个元素包含与正则表达式相匹配的字符串,其余
元素包含的是匹配的各个分组(用括号括起来的子表达式)
语法格式:
regExp.exec(str)