1、课程名称:JavaScript
JAVA WEB的课程知识点:
• HTML(表格、表单)、JavaScript(了解基本事件)
• JSP语法及九个内置对象
• JavaBean、DAO、上传组件
• Oracle两张表:emp、dept,最后要为其增加前台
• MVC、Servlet、分页算法
JAVA基础:面向对象(接口)、类集、IO、JDBC
2、知识点
2.1、上次课程的主要知识点
1、 JAVA SE的核心内容
2.2、本次预计讲解的知识点
1、 JavaScript介绍
2、 JavaScript中定义函数
3、 JavaScript中的事件
4、 window对象
3、具体内容
3.1、什么是JavaScript?
JavaScript是JAVA脚本,是指在网上完成各种动态效果的一种语言,与之类似的还有VBScript、Coldfusion。
JavaScript是网景公司LiveScript更名为JavaScript。语法与JAVA基本上没有什么区别。JavaScript是嵌入在网页上的程序代码。
例如:以下演示了一个简单的JavaScript
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
alert("Hello World!!!") ;
</script>
</BODY>
</HTML>
javaScript使用<script>元素包围起来的一组代码。
一般情况下,一个页面中可能引入很多的JavaScript,如果这样一来的话,则整个页面中的javaScript过多,造成页面代码维护困难,所有有些时候可以把javaScript的代码单独提取出来,放在一个*.js的文件之中。
demo.js:
alert("Hello World!!!") ;
JSDemo02.htm:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript" src="demo.js">
</script>
</BODY>
</HTML>
表示引入了同一个文件夹之中的内容。
3.2、JavaScript语法
输出方式:
• alert():表示弹出一个警告框
• document.write():表示在页面上输出,而且可以输出各种HTML代码。
例如:以下代码使用document进行输出
<HTML>
<HEAD><TITLE> New Document </TITLE></HEAD>
<BODY>
<script language="javaScript">
document.write("<h1>hello</h1>") ;
</script>
</BODY>
</HTML>
HTML元素可以由JavaScript进行控制输出。
在各个程序之中,都存在着变量的定义,在javaScript中实际上也是存在此定义的,但是与其他语言不同的是,JavaScript只使用一种方式声明变量:
• var 变量名称
那么变量的具体类型不是固定的,是由其所给的值来决定变量的类型。
例如:观察以下代码
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
var i ;
var j ;
i = 1 ;
j = 2 ;
alert(i + j) ;
i = "1" ;
j = "2" ;
alert(i + j) ;
</script>
</BODY>
</HTML>
既然在JavaScript之中所有的变量都可以使用var定义,那么在使用的时候也就可以不再使用var进行声明,而直接定义变量,例如:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
i = 1 ;
j = 2 ;
alert(i + j) ;
i = "1" ;
j = "2" ;
alert(i + j) ;
</script>
</BODY>
</HTML>
注意:
有些浏览器需要对JavaScript中的变量进行定义,因为各个浏览器支持的JavaScript的处理方式不一样。所以不可以一概而论。
在整个JavaScript之中,最重要的组成部分就是函数,但是其定义函数的语法比Java简单。
回顾:
• JAVA定义方法的完整格式:
[public | protected | private] [static] [final] [synchronized]
返回值类型声明 | void 方法名称(参数列表) [throws 异常]{
[return 具体的值 ;]
}
JavaScript中函数的定义:
function 函数名称(参数列表){
[return 返回值 ;]
}
例如:以下定义了一个两数相加的方法:
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
function add(i,j){
return i + j ;
}
alert(add(1,1)) ;
alert(add("1","1")) ;
</script>
</BODY>
</HTML>
注意:
在JavaScript之中,对于调用方法时传递的参数并没有严格的要求。
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
function add(i,j){
return i + j ;
}
alert(add(1)) ;
</script>
</BODY>
</HTML>
返回的值为NaN,造成此内容的原因:一个数字 + null。
此时,就发现,以上的程序代码至少应该有一些判断,如果我传递进去的参数是1个,就不要再进行两个数字相加的操作了。
• 在JavaScript之中提供了以下的一个方法,可以取得全部输入参数的个数:
|- 函数名称.arguments.length ;
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
function add(i,j){
var len = add.arguments.length ;
if(len==1){
return i ;
}else if(len==2){
return i + j ;
}else{
return "给点正确的值..." ;
}
}
alert(add(1,1,2,3,4)) ;
</script>
</BODY>
</HTML>
在JavaScript中也可以像Java中那样直接使用各种判断、循环语句;
例如:观察以下内容,执行判断操作
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
function print(str){
if(str==""){
document.write("<h1>输入的参数不正确</h1>") ;
}else{
var i = parseInt(str) ;
for(var x=0;x<i;x++){
document.write("<h3>"+x+"</h3>") ;
}
}
}
print("") ;
</script>
</BODY>
</HTML>
思考?
能否使用JavaScript在屏幕上打印一个10*10的表格呢?
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<BODY>
<script language="javaScript">
function print(row,col){
document.write("<table border=\"1\">") ;
for(var i=0;i<row;i++){
document.write("<tr>") ;
for(var j=0;j<col;j++){
document.write("<td>"+i*j+"</td>") ;
}
document.write("</tr>") ;
}
document.write("</table>") ;
}
print(10,20) ;
</script>
</BODY>
</HTML>





