JavaScript教程
摘录时间:2007/9/16 22:29:00

JavaScript教程

教程一、JavaScript简介

 首先要弄清我们所要学的JavaScript到底是什么?JavaScript 是一种描述性的脚本语
言(Script Language),它可以非常自由地被嵌入到HTML 的文件之中。使用
JavaScript 可以做什么呢?它的作用很简单,就是对网页浏览者当前所触发的事件进
行处理或对网页进行初始化工作。它是事先在网页中编写好代码(或叫做“脚本”),然
后此代码伴随Html文件一起传送到客户端的浏览器上,由浏览器对这些代码进行解释执
行,而其执行期间并没有劳驾服务器帮忙,这样就减轻了服务器的负担。

    顺便说一句,我们所讲的JavaScript是在 Netscape3.0 和
InternetExplorer4.0 以上版本都支持的。我们这个教程要求您能够掌握基本的Html
语言。

    Java和JavaScript是同一种东东吗?No,Java 是一种程式语言,它比
JavaScript 更加复杂而且难学,不过请放心,不学Java我们一样可以制作出精美的主
页。而且,Java与JavaScript并无太多相似之处。好了,废话那么多,把读者都给烦
死了,现在开始讲正题!我将通过举例来逐步讲解JavaScript。

例1 如何在Html文档中嵌入JavaScript
<html>
<head>
<title>在Html文档中嵌入JavaScript</title>
</head>
<body>
<br>
<p align="center">这是Html文档的内容。</p>
<br>
<script language="JavaScript"><!--
document.write("<center>这是使用JavaScript输出的内容!</center>");
-->
</script>
<br>
<p align="center">这是Html文档的内容。</p>
</body>
</html>
例1的结果如下:

这是Html文档的内容。
这是使用JavaScript输出的内容!
这是Html文档的内容。

    从本例中您可以看到,我是通过使用<script language="JavaScript">和
</script>标签把JavaScript脚本语言的代码嵌入到Html文件之中的,您可以把这两个
标签放在Html文件中的任何地方,也就是说JavaScript脚本代码可以嵌入到Html文件
的任何地方。例1中的“<!--”和“-->”标签在Html语言中是用来注释的,在此处则
是用来是那些不支持JavaScript的浏览器跳过JavaScript代码部分而不去对它进行解释
执行。在此例中我使用了一个叫做document的对象,它指代的就是当前的Html文档,
它的write方法是用来向文档中输送Html代码,此方法必须带一个字符串参数。此例中
把Html代码(即字符串)“<center>这是使用JavaScript输出的内容!</center>”输
送到了当前的Html文档中,于是浏览器通过解释执行Html代码后就显示了居中的一行
中文“这是使用JavaScript输出的内容!”。您可以让它输送其它的Html代码试试看,
很不错的!

    要特别注意的是,JavaScript的每一行完整的语句后边都必须跟一个分号(“;”),
而且,JavaScript是区分大小写的,所以编写JavaScript代码时一定要严格遵守大小写
规则,假如例1中document.write的任何一个字母改成大写,都会出现脚本错误!

    好了,现在您对JavaScript应该有了基本的认识了吧,第一个教程先不要讲得太复
杂,咱们下次再细细道来。


教程二、函数的应用

这个教程中我要讲的是有关函数(function)的使用,函数在JavaScript中应用是相当广
泛的,几乎在后边的所有例子中我们都将用到函数,可以看出它在JavaScript中的作用
是多么的重要!

例2 第一个函数示例
<html>
<head>
<title>第一个函数示例</title>
<script language="Javascript">
<!--
function talk(){
    alert("嘿,你干吗点我?");
}//end function
-->
</script>
</head>
<body>
<form>
<p><input type="button" name="B1" value="请点击……" onclick="talk
()"> </p>
</form>
</body>
</html>

例2的运行结果如下:(FBBS不支持HTML,故略)
 
    在此例中,我们通过Html语句<input type="button" ……>产生一个按钮,当
浏览者用鼠标去点击此按钮时将触发按钮的onclick事件,于是依据语句onclick="talk
()"Html文件将会调用函数talk()。函数必须用function来标识,然后空一格,紧跟函
数名,接着是"()"号,函数中可以有很多语句,这些语句必须用"{"号和"}"号括起来。
函数talk()只有一条语句alert("嘿,你干吗点我?");函数alert()是一个JavaScript自
带的,它将弹出一个小的警告窗体,并带有文字“嘿,你干吗点我?”和一个“确定”
(OK)的按钮。例中的“//”符号是JavaScript的注释符号,即紧跟在此符号后边的内容
为注释部分,此例中注释内容是“end function”,我习惯用这种方法来注释,因为如
果"{"和"}"符号一多的话就分不清哪个"}"符号对应哪个"{"符号了。

    这里要说明的是,函数并不一定要放到调用此函数的语句之前,您可以把函数放到
Html文件的最后面,当函数被调用时,它一样可以执行!不信您可以试试看!

    我再提醒一下,请务必记住:JavaScript是区分大小写的,所以函数名也必须区分
大小写,函数talk()和Talk()、alert()和Alert()都是不同的函数,您若是把函数alert()
改称了Alert(),那将会出现脚本错误,因为JavaScript并没有自带函数Alert()。

例3 简单函数调用
<html>

<head>
<title>简单函数调用</title>
<script language="JavaScript">
<!--
function info(){
alert("请使用IE4.0以上版本,800*600分辨率浏览此网页!");
}//end function

function hello(){
    if(T1.value==""){
            alert("对不起,请输入您的姓名!");
        }
    else{
            document.write("您好,"+T1.value+"!");
        }//end if
}//end function
-->
</script>
</head>

<body onload="info()">
<p>请输入您的姓名:<br>
<input type="text" name="T1" size="20"><input type="button"
value="问候……" name="B1"
onclick="hello()"></p>
</body>
</html>

    此例的运行结果请点击“在线示例”。

    例3中出现了两个函数:info()和hello()。对于简单的info()函数我就不多讲了,它
是在Html文件被浏览器装载时被调用的,调用的语句是:onload="info()",onload
事件者能放在<body>标签中,并且当Html文件被浏览器装载时触发此事件。hello()
函数则是在名为"B1"的按钮被按下时触发的onclick事件调用,这个函数中有一个判断
语句“if……else……”,该判断语句的语法结构如下:

        if(判断条件){
            语句1;
            语句2;
            ……
            语句n;
            }
        else{
            语句1;
            语句2;
            ……
            语句n;
            }

    判断条件中的判断符号可以是==(等于)、<(小于)、>(大于)、<=(小于等于)、>=
(大于等于)或!=(不等于)。特别要注意的是等于是==而不是=,不等于是!=而不是
<>。

    在本例的if……else……语句中,出现了T1.value,它指代的是Html文档中语句
<input type="text" name="T1" size="20">创建的文本框“T1”,输入到此文
本框的文本可以使用T1.value调出来。加号“+”用于字符串的合并,例如变量str存
放着字符串“hello”,则 str+",the world!" 可得到字符串“hello,the world!”。

教程三、history对象

 JavaScript提供了很多对象,我们先讲一下history对象。history对象用来存储客户
机上的浏览器已经访问过的网址(URL),这些信息存储在一个history列表中,通过对
history对象的引用,我们可以让客户机的浏览器返回到它曾经访问过的网页去。其实
它的功能和浏览器(这里指的是中文IE)的工具栏上的“后退”和“前进”按钮时一样
的,下面看一个例子。

例4 history对象示例1
<html>
<head>
<title>history对象示例1</title>
</head>
<body>
<ul>
<li onclick="history.go(-2)">后退两页</li>
<li onclick="history.back()">后退一页</li>
<li onclick="history.forward()">前进一页</li>
<li onclick="history.go(2)">前进两页</li>
</ul>
</body>
</html>

    此例中直接将JavaScript代码加入到Html的标签里边,这是使用JavaScript比较简
单的方法,但对于语句较多的代码则不适合使用此方法。例4首先由Html代码
<ul><li……>……</li></ul>列出了一个列表,当列表中的某一项被鼠标点击时将触
发onclick事件,此事件执行JavaScript代码,调用history对象的go()、back()或
forward()方法,这样就使浏览器从新定位了。使用go()方法要加入参数,此参数必须
为整数,如-3、-2、-1、0、1、2、3……,go(0)是将浏览器定位到当前的位置,等
于是“刷新”了一下,负整数是后退到当前页以前的那些页面,其绝对值即是回退的页
面数,如go(-2)回退到在当前页前边访问过的前两页,同理,正整数是前进到当前页前
边的那些页面。back()方法是用来使浏览的页面后退到当前页的前一页,相当于go(-
1),与之相反,forward()方法则是使浏览的页面前进到当前页的前一页,相当于go
(1),注意:back()和forward()方法是不用加参数的。于是,例4也可以改成下边的例
5,其作用是一样的。

例5 history对象示例2
<html>
<head>
<title>history对象示例2</title>
</head>
<body>
<ul>
<li onclick="history.go(-2)">后退两页</li>
<li onclick="history.go(-1)">后退一页</li>
<li onclick="history.go(1)">前进一页</li>
<li onclick="history.go(2)">前进两页</li>
</ul>
</body>
</html>

教程四、window对象

window是JavaScript的高级对象,它是document、location和history对象的父对
象。正因为window是一个很高级的对象,所以通常在JavaScript代码编写中应用它的
方法、属性时我们并不是必须写出window对象,如引用window的parent属性时:
window.parent可以简单写成parent。window的属性有frames、parent、self、
top、status和defaultStatus等六个,下面请看例子。

例6 window对象示例
<html>
<head>
<title>window对象示例</title>
</head>
<script language="JavaScript">
<!--
function init(){
window.defaultStatus="这一页是window对象示例!";
}

function windowOpener() {
msgWindow=open
("","NewWindow","toolbar=0,directories=0,menubar=0");
msgWindow.document.write("<head><title>window对象示例--新窗口
</title></head>");
msgWindow.document.write("<body><p>Hello,the world!</p><br>");
msgWindow.document.write("<p onclick='NewWindow.close()'>点击此处可
以关闭窗口!</p></body>");
}
-->
</script>
<body onload="init()">
<p onmouseover="window.status='Hello,the world!';return true">将鼠标
放在上边可以改变浏览器的状态栏</p>
<p><br>
</p>
<p onclick="windowOpener()">用鼠标点击可以打开一个新的窗口!</p>
</body>
</html>

    此例效果请看“在线示例”

    在例6中,我使用了window对象的defaultStatus、status和self属性,对于另
外的frames、parent、top属性我们将会在以后的教程中讲到。defaultStatus属性
是用来设置浏览器的状态栏(一般是在浏览器的下边)显示的默认文本,status则是用来
显示浏览器当前状态栏中的文本,它与defaultStatus是有所区别的。self属性指代的
是当前窗口,它与window对象几乎是指同一个东东,比如,您想调用window的
close()方法,则window.close()、self.close()和close()都将起到同样的作用,即
关闭当前窗口。哈哈,这顺便把window的close()方法也讲了。

    当例6被浏览器装载时(即被浏览时),触发window对象的onload()事件(与之相反
的是被卸载时将触发window对象的onUnLoad事件),onload()事件调用函数init
(),在此函数中,window对象的defaultStatus属性被设置为文本“这一页是
window对象示例!”,这样浏览器的状态栏就显示此文本了。对于语句<p
onmouseover="window.status='Hello,the world!';return true">将鼠标放在
上边可以改变浏览器的状态栏</p>,当鼠标移动到文本上边时,将触发
onmouseover事件,执行JavaScript代码,代码中将状态栏的文本设置为
“Hello,the world!”,因为有两条语句,所以要用分号(;)隔开,第二条语句return
true是不可缺少的,只有执行了此语句状态栏的文本设置才会生效。

    现在我们要重点来讲一下函数windowOpener()了,第一条语句使用了window
对象的open()方法,此方法用来打开一个新的窗口,它有三个参数,前两个是必须填写
的,第三个则是可选的,有没有都可以。语法如下
    window.open("URL", "windowName", ["windowFeatures"])
URL是新窗口所要装载的Html文件的网址和文件名,若此参数为"",则将打开一个空的
什么也没有窗口(即没有任何源代码),您可以用我在前边讲的document.write()方法
在此窗口中输入代码,本例就是如此。第二个参数windowName是新开的窗口的名
字,此名字即是一个字符串,其中间不能有空格。第三个是可选参数
windowFeatures,它是用来设置新窗口的一些特征东东。如toolbar=0设置新窗口
中没有滚动轴,menubar=0设置新窗口中不显示菜单栏。参数之间要用逗号(“,”)隔
开而且不能有空格,其它参数如下:
 toolbar[=yes|no]|[=1|0]
location[=yes|no]|[=1|0]
directories[=yes|no]|[=1|0]
status[=yes|no]|[=1|0]
menubar[=yes|no]|[=1|0]
scrollbars[=yes|no]|[=1|0]
resizable[=yes|no]|[=1|0]
copyhistory[=yes|no]|[=1|0]
width=pixels
height=pixels 

    从参数的英文中很容易看出各个参数的作用。中括号“[]”表示的是可选项,这些参
数很多都具有默认值yes或1,所以您也可以直接使用toolbar,它等价于
toolbar=yes或者toolbar=1,但对于no值和0值的设置则要写全,即toolbar=no或
者toolbar=0,其它参数项页是一样的。好了,将完了open()方法,我们继续下边的
语句。程序中把新打开的窗口赋给了一个变量msgWindow,在JavaScript中,变量
并不是必须声明了才可以使用,不声明一样用的很好,如果要声明的话,请用语句
“var msgWindow;”,var即是用来声明变量的。后面就使用了msgWindow变量
引用对象document的write()方法,因为msgWindow代表的是窗口对象,是老大,
document对象是窗口对象的子对象,所以引用时必须层层引用,即先写
msgWindow,再写document,然后才能引用document对象的write()方法。接下
来的语句就是往新的窗口里输入代码了,这里就不多讲了。对于代码<p
onclick='NewWindow.close()'>点击此处可以关闭窗口!</p></body>,当鼠标
点击此行文本后将触发onclick()事件,执行代码NewWindow.close(),即把名为
NewWindow的新窗口关闭掉,此代码也可写成window.close(),因为
NewWindow指的就是当前的新窗口window。对于window对象的close()方法我在
前边已经讲过了,就不多说了。

附:心梦网页特效管理专家8.5XP的破解

   这是一个作网页、学javascript很好的东西,我刚学特效的时候,就用的他,但是有
二十次的限制,至今没有找到破解的版本(大家找找,他的算法挺简单的)
   打开时:
     他会说,“心梦网页特效管理专家8.5XP”是共享软件,你
如果不注册,只能免费使用20次,注册后可以享受到完
善的升级和技术支持服务。
   不理他。
    点“稍后注册”
     在下面有“软件未注册,你还能使用XX次”
     我们知道这样的软件,一般是把注册码、使用次数保存在注册表中,
     替大家找到了,是
 
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Tele
phony\temp

   下面的smyx项值为你的使用次数,只要将其改为你想要的值即可:呵呵
           By          japanisapig
  

 
 网友评论
暂无网友评论!

发表评论
昵称*
评论内容*
请选择表情
赞成
思考
惊奇
随便
怀疑
质问
反对
疲劳
无奈
 
分类列表
网络
Excel
Windows
Word
Asp
Html
Java、JS
安全
DOS
VB
php
手机

返回专辑首页