javascript 学习笔记(三)

 

第三讲 JavaScript程序构成

JavaScript脚本语言的基本构成是由控制语句、函数、对象、方法、属性等,来实现编程的。

一、程序控制流

1、if条件语句

2、For循环语句

3、while循环

4、break和continue语句

与C++语言相同,使用break语句使得循环从For或while中跳出,continue使得跳过循环内剩余的语句而进入下一次循环。

 二、函数

1、JavaScript函数定义

Function 函数名 (参数,变元){

函数体;.

Return 表达式;

}

说明:

 当调用函数时,所用变量或字面量均可作为变元传递。函数由关键字Function定义。

 函数名:定义自己函数的名字。

 参数表,是传递给函数使用或操作的值,其值可以是常量,变量或其它表达式。

 通过指定函数名(实参)来调用一个函数。

 必须使用Return将值返回。

 函数名对大小写是敏感的。

2、函数中的形式参数:

在函数的定义中,我们看到函数名后有参数表,这些参数变量可能是一个或几个。那么怎样才能确定参数变量的个数呢?在JavaScript中可通过arguments .Length来检查参数的个数。

Function function_Name(exp1,exp2,exp3,exp4)

Number =function _Name . arguments .length;

if (Number>1)

document.wrile(exp2);

if (Number>2)

document.write(exp3);

if(Number>3)

document.write(exp4);

三、事件驱动及事件处理

1、基本概念

JavaScript是基于对象(object-based)的语言。这与Java不同,Java是面向对象的语言。而基于对象的基本特征,就是采用事件驱动(event-driven)。它是在用形界面的环境下,使得一切输入变化简单化。通常鼠标或热键的动作我们称之为事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为事件驱动(Event Driver)。而对事件进行处理程序或函数,我们称之为事件处理程序(Event Handler)。

2、事件处理程序

在JavaScript中对象事件的处理通常由函数(Function)担任。其基本格式与函数全部一样,可以将前面所介绍的所有函数作为事件处理程序。格式如下:

Function 事件处理名(参数表){

事件处理语句集;

……

}

3、事件驱动

JavaScript事件驱动中的事件是通过鼠标或热键的动作引发的。它主要有以下几个事件:

(1)单击事件onClick

当用户单击鼠标按钮时,产生onClick事件。同时onClick指定的事件处理程序或代码将被调用执行。通常在下列基本对象中产生:

button(按钮对象)   checkbox(复选框)或(检查列表框)
radio (单选钮)     reset buttons(重置)   submit buttons(提交)
例:可通过下列按钮激活change()文件:<Input type="button" Value=“ ” onClick="change()">

在onClick等号后,可以使用自己编写的函数作为事件处理程序,也可以使用JavaScript中内部的函数。还可以直接使用JavaScript的代码等。例:

<Input type="button" value=" " οnclick=alert("这是一个例子");

(2)onChange改变事件

当利用text或texturea元素输入字符值改变时发该事件,同时当在select表格项中一个选项状态改变后也会引发该事件。

<Input type="text" name="Test" value="Test" onCharge="check('this.test)">

(3)选中事件onSelect

当Text或Textarea对象中的文字被加亮后,引发该事件。

(4)获得焦点事件onFocus

当用户单击Text或textarea以及select对象时,产生该事件。此时该对象成为前台对象。

(5)失去焦点onBlur

当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时,引发该文件,他与onFocas事件是一个对应的关系。

(6)载入文件onLoad

当文档载入时,产生该事件。onLoad一个作用就是在首次载入一个文档时检测cookie的值,并用一个变量为其赋值,使它可以被源代码使用。

(7)卸载文件onUnload

当Web页面退出时引发onUnload事件,并可更新Cookie的状态。

范例2:这是一个获取浏览器版本号的程序。该程序首先显示一个波浪一提示信息。之后显示浏览器的版本号有关信息。

       <script language="JavaScript">

                 function makeArray(n){

                    this.length=n

                    return this

                 }

                 function hexfromdec(num) {

                    hex=new makeArray(1);

                    var hexstring="";

                    var shifthex=16;

                    var temp1=num;

                    for(x=1; x>=0; x--) {

                       hex[x]=Math.round(temp1/shifthex - .5);

                       hex[x-1]=temp1 - hex[x] * shifthex;

                       temp1=hex[x-1];

                       shifthex /= 16;

                    }

                    for (x=1; x>=0; x--) { hexstring+=getletter(hex[x]); }

                    return (hexstring);

                  }

                  function getletter(num) {

                    if (num < 10) { return num; }

                    else {

                    if (num == 10) { return "A" }

                    if (num == 11) { return "B" }

                    if (num == 12) { return "C" }

                    if (num == 13) { return "D" }

                    if (num == 14) { return "E" }

                    if (num == 15) { return "F" }

                    }

                  }

                  function rainbow(text){

                    var color_d1;

                    var allstring="";

                    for(i=0;i<text.length;i=i+2){

                    color_d1=255*Math.sin(i/(text.length/3));

                    color_h1=hexfromdec(color_d1);

 allstring+="<FONT COLOR="+color_h1+"ff"+color_h1+">"+text.substring(i,i+2)+"</FONT>";

                    }

                    return allstring;

                  }

                  function sizefont(text){

                    var color_d1;

                    var allstring="";

                    var flag=0;

                    for(i=0,j=0;i<text.length;i=i+1){

                    if (flag==0) {

                    j++;

                    if (j>=7) {

                    flag=1;}}

                    if (flag==1) {

                    j=j-1;

                    if (j<=0) {

                    flag=0; }}

    allstring+="<FONT SIZE="+ j + ">" + text.substring(i,i+1) + "</FONT>";

                    }

                    return allstring;

                  }

                    document.write("<font size=8><CENTER>")

                    document.write("<BR><BR>")

                    document.write( sizefont("这是一个获取WEB浏览器的程序"))

                    document.write("</CENTER></font>")

            document.write("浏览器名称: "+navigator.appName+"<br>");

            document.write("版本号: "+navigator.appVersion+"<br>");

            document.write("代码名字: "+navigator.appCodeName+"<br>");

            document.write("用户代理标识: "+navigator.userAgent);

        </script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值