JavaScript
一种可以同HTML混合使用的脚本语言,它是一种解释型语言,区分大小写
1、 引入JavaScript
<body>
<scriptlanguage="JavaScript">
document.write("通过JavaScript输出!");
</script>
</body>
2、 变量
a) JavaScript定义变量只有一个关键字var,语法
var username;
注:JavaScript的变量是弱变量,不经过申明就可以使用,建议先利用var申明;
JavaScript语句后面可以加分号,也可以不加,建议加上。
b) 命名规则
1) 变量命名必须以一个英文字母或是下划线为开头;
2) 变量名长度在0-255字符之间;
3) 出了首字符,其他字符可以使用任何字符、数字及下划线,但是不可以使用空格;
4) 不可以使用JavaScript的运算符号,例如:+, -, *, /等;
5) 不可以使用JavaScript用到的保留字,例如:sqrt, parseInt等;
6) 在JavaScript中,变量大小写敏感。
3、 数组
<scriptlanguage="JavaScript">
var arrUserName = new Array(2);
arrUserName[0]= "Bill";
arrUserName[1] ="Bob";
document.write(arrUserName[0]);
document.write("<br>");
document.write(arrUserName[1]);
</script>
4、 表达式、运算符、控制语句同Java
注释语句
// 或 /* */
5、 函数
a) JavaScript函数在定义时并没有被执行,只有函数被调用时,其中的代码才真正被执行,解释型语言的体现
b) 定义和调用
function 函数名(参数列表) {…}
<scriptlanguage="JavaScript">
functionf(y) {
return y* y;
}
for(var x=0; x<10; x++) {
var y = f(x);
document.write(y+ "<br>");
}
</script>
6、 事件
主要包括三大类:超级链接事件、浏览器事件和界面事件。界面事件包括click、mouseout、mouseover和mousedown等。
单击事件:
<form>
<inputtype="button" value="单击"οnclick="alert('鼠标单击')">
</form>
7、 对象处理语句
a) this语句:总是指当前对象
<body>
<scriptlanguage="JavaScript">
functionimgclick(oimg) {
alert("图片名称是:" +oimg.name + "\r\n图片地址是:" +oimg.src);
}
</script>
<imgsrc="wld.jpeg" name="wangluodan"οnclick="imgclick(this)">
</body>
b) for…in语句:如果不知道一个对象中包含多少元素,可以使用
<scriptlanguage="JavaScript">
vararr = new Array(3);
arr[0]= "Jack";
arr[1]= "Mike";
arr[2]= "Rose";
for(vari in arr) {
document.write("<br>第" + i + "个为:" + arr[i]);
}
</script>
c) with语句:with语句的作用范围内,如果没有只出所选择的对象,而是使用默认的对象,默认的对象使用with语句给出。如下面的例子,省略了一些document对象。
<scriptlanguage="JavaScript">
with(document){
write("你好!");
write("JavaScript,");
write("老朋友!");
}
</script>
8、 内置对象
a) Date对象
声明:var currDate = new Date();
<scriptlanguage="JavaScript">
var currDate = new Date();
document.write("今天是:");
switch(currDate.getDay()){
case 0 :document.write("周日了,休息了!"); break;
case 1 : document.write("周一了,工作了!"); break;
case 2 : document.write("周二了,工作了!"); break;
case 3 : document.write("周三了,工作了!"); break;
case 4 : document.write("周四了,工作了!"); break;
case 5 : document.write("周五了,工作了!"); break;
case 6 : document.write("周六了,休息了!"); break;
}
</script>
b) Math对象
<scriptlanguage="JavaScript">
var i = Math.random() * 100;
document.write(i);
</script>
c) String对象
<scriptlanguage="JavaScript">
var str = "I am a boy, I like programming!";
var strArray = new Array(4);
strArray[0] = str.charAt(7);
strArray[1] = str.indexOf("a");
strArray[2] =str.lastIndexOf("a");
strArray[3] = str.toUpperCase();
with(document) {
for(i in strArray) {
write(strArray[i] +"<br>");
}
}
</script>
9、 常用函数
a) eval()接受一个字符串形式的表达式,并执行该表达式。
<scriptlanguage="JavaScript">
varstr = "1 + 2 + 3";
document.write(eval(str));
</script>
b) parseInt()
从一个字符串中提出一个整数,如果遇到字符串中除了数字意外的字符,就停止转换,并返回已有的结果。如果第一个字符不是数字,返回Nan值(Nan为非数字值的特殊值,不与任何值相等,包括它本身)
<scriptlanguage="JavaScript">
varstr = "1 + 2 + 3";
document.write(eval(str));
</script>
10、对象层次及DOM模型
浏览器对象有一定的层次,从属关系。在从属关系中浏览器对象window反应的是一个完整的浏览器窗口,它是其他大部分对象的祖先。它包括location,history和document等。
注:所有的对象是浏览器的一些对象,与JavaScript语言本身没有太大的关系。在其他脚本语言中调用的方法是一样的。
a) window:处于整个从属表的最顶级位置。没一个这样的对象代表一个浏览器窗口;
b) document:含有当前页面的各种特性,如标题、背景及使用的语言等;
c) location:含有当前页面的URL地址;
d) forms:从属于document的一个数组,为处理表单及其中的界面对象提供属性和方法,每一个表单是这个数组中的一个单独元素;
e) achors:从属于document的一个数组,为处理锚提供属性和方法,没一个超级链接就是这个数组中的一个元素
<script language="JavaScript">
function doCopy() {
varstr = form1.text1.value;
form2.text2.value= str;
}
</script>
<form name="form1">
<inputtype="text" name="text1">
<inputtype="button" value="复制" οnclick="doCopy()">
</form>
<form name="form2">
<inputtype="text" name="text2">
</form>
11、对象的主要方法
a) window
1) open(URL, windowName,parameterList):创建一个新的浏览器窗口,并在新窗口中载入一个指定的URL地址;
2) close():关闭一个浏览器窗口;
3) alert():弹出一个消息框;
4) confirm():弹出一个确认框;
5) promt() :弹出一个提示框;
6)setTimeout(expr, time):定时设置,在一定的时间后自动执行expr的代码,使用time设置时间,单位毫秒;
<body>
<spanid="tm"></span>
<script language="JavaScript">
varcurrTime = new Date().getTime();
functionsetTime() {
document.getElementById("tm").innerHtml= new Date().toLocaleString();
if(newDate().getTime() - currTime <= 60 * 1000) {
window.setTimeout("setTime();", 1000);
}
}
setTime();
</script>
</body>
7) clearTimeout(timer):取消利用setTimeout的定时设置;
8) setIntervel(expr,time):设定一个时间间隔,可以定时反复的自动执行expr描述的代码,使用time设置时间,单位毫秒。
<body οnlοad="setTime();">
<spanid="tm"></span>
<scriptlanguage="JavaScript">
varcurrTime = new Date().getTime();
functionsetTime() {
document.getElementById("tm").innerHTML= new Date().toLocaleString();
if(newDate().getTime() - currTime > 60 * 1000) {
clearInterval(timer);
}
}
window.setInterval("setTime();",1000);
</script>
</body>
c) document
1) close() :结束一个通过open方法打开的document对象;
2) open():打开一个document对象;
3) write():向document对象中输出一条字符串,输完不换行;
4) writeln():向document对象中输出一条字符串,输完后换行;
5) alinkColor超级链接激活时的颜色、linkColor没有访问过的超级链接的颜色、vlinkColor访问过的超级链接的颜色、bgColor背景色、fgColor前景色;
6) all :返回该文档中所有子元素;
7) forms:返回该document包含的全部表单数组;
8) frames:返回该document包含的全部Frame集合;
9) images:返回该document包含的全部图像数组;
10) links:返回该document包含的全部超级链接的数组;
11) URL :返回document所在URL;
12) location:作用类似URL;
13) referrer:返回上一个页面的URL,且上一个页面中的超级链接负责导航当前页面;
14) title:返回document对象标题<title></title>之间的部分。
12、常用的提交
<formname="formchaxun" align="center" onSubmit="returntijiao()">
document.formchaxun.method= "post";
document.formchaxun.action ="baoguanqichaxun?action=2";
document.formchaxun.submit();
<a class="link1STYLE7" href="#" οnclick="xiugai(<%=id %>)">修改</a>
function xiugai(id){
form1.action="GongduanguanliServlet?action=3&id="+id;
form1.submit();
}