JavaScript

JavaScript和Java的区别
虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言, 它的前身是Live Script;而Java的前身是Oak语言。下面对两种语言间的异同作如下比较:
  1. 基于对象和面向对象
      Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。
    JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象(Object Based)和事件驱动(Event Driver)的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。

  2. 解释和编译
      两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
      JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。

  3. 强变量和弱变量
      两种语言所采取的变量是不一样的。
      Java采用强类型变量检查,即所有变量在编译之前必须作声明。如:
      Integer x;
      String y;
      x=1234;
      x=4321;
      其中X=1234说明是一个整数,Y=4321说明是一个字符串。
      JavaScript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型,如:
      x=1234;
      y="4321";
      前者说明x为其数值型变量,而后者说明y为字符型变量。

  4. 代码格式不一样
      Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。
      JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。

  5. 嵌入方式不一样
      在HTML文档中,两种编程语言的标识不同,JavaScript使用<Script>...</Script>来标识,而Java使用<applet>...</applet>来标识。

  6. 静态联编和动态联编
      Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。
    JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。

 

 

 

 

二、基本数据类型

   JavaScript脚本语言同其它语言一样,有它自身的基本数据类型、表达式和算术运算符以及程序的基本框架结构。JavaScript提供了四种基本的数据类型用来处理数字和文字, 而变量提供存放信息的地方, 表达式则可以完成较复杂的信息处理。

1、基本数据类型
  在JavaScript中四种基本的数据类型:数值(整数和实数)、字符串型(用“”号或‘’括起来的字符或数值)、布尔型(使True或False表示)和空值。在JavaScript的基本类型中的数据可以是常量,也可以变量。由于JavaScript采用弱类型的形式,因而一个数据的变量或常量不必首先作声明,而是在使用或赋值时确定其数据的类型的。当然也可以先声明该数据的类型,它是通过在赋值时自动说明其数据类型的。

2、常量

  • 整型常量
      JavaScript的常量通常又称字面常量,它是不能改变的数据。其整型常量可以使用十六进制、八进制和十进制表示其值。

  • 实型常量
      实型常量是由整数部分加小数部分表示,如12.32、193.98 。可以使用科学或标准方法表示:5E7、4e5等。

  • 布尔值
      布尔常量只有两种状态:True或False。 它主要用来说明或代表一种状态或标志,以说明操作流程。它与C++是不一样的,C++可以用1或0表示其状态,而JavaScript只能用True或False表示其状态。

  • 字符型常量
      使用单引号(‘)或双引号(“)括起来的一个或几个字符。如 "This is a book of JavaScript "、"3245"、"ewrt234234" 等。

  • 空值
      JavaScript中有一个空值null,表示什么也没有。如试图引用没有定义的变量,则返回一个Null值。

  • 特殊字符
      同C语言一样,JavaScript中同样以有些以反斜杠(/)开头的不可显示的特殊字符。通常称为控制字符。

    3、变量
      变量的主要作用是存取数据、提供存放信息的容器。对于变量必须明确变量的命名、变量的类型、变量的声明及其变量的作用域。

    变量的命名
      JavaScript中的变量命名同其计算机语言非常相似,这里要注意以下两点:

    1. 必须是一个有效的变量,即变量以字母开头,中间可以出现数字如test1、text2等。除下划线(-)作为连字符外,变量名称不能有空格、(+)、(-)、(,)或其它符号。

    2. 不能使用JavaScript中的关键字作为变量。
        在JavaScript中定义了40多个类键字,这些关键是JavaScript内部使用的,不能作为变量的名称。如Var、int、double、true不能作为变量的名称。

      在对变量命名时,最好把变量的意义与其代表的意思对应起来,以免出现错误。

    变量的类型
      在JavaScript中,变量可以用命令Var作声明:
      var mytest;
      该例子定义了一个mytest变量。但没有赋予它的值。
      Var mytest=”This is a book”
      该例子定义了一个mytest变量, 同时赋予了它的值。
      在JavaScript中,变量以可以不作声明,而在使用时再根据数据的类型来确其变量的类型。
      如:
      x=100
      y="125"
      xy= True
      cost=19.5等。
      其中x整数,y为字符串,xy为布尔型,cost为实型。

    变量的声明及其作用域
      JavaScript变量可以在使用前先作声明,并可赋值。通过使用var关键字对变量作声明。对变量作声明的最大好处就是能及时发现代码中的错误;因为JavaScript是采用动态编译的,而动态编译是不易发现代码中的错误,特别是变量命名的方面。
      对于变量还有一个重要性──那就是变量的作用域。在JavaScript中同样有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是定义在函数体之内,只对其该函数是可见的,而对其它函数则是不可见的。

    三、表达式和运算符

    1、表达式
      在定义完变量后,就可以对它们进行赋值、改变、计算等一系列操作,这一过程通常又叫称一个叫表达式来完成,可以说它是变量、常量、布尔及运算符的集合,因此表达式可以分为算术表述式、字串表达式、赋值表达式以及布尔表达式等。
    2、运算符
      运算符完成操作的一系列符号,在JavaScript中有算术运算符,如+、-、*、/等;有比较运算符如!=、==等; 有逻辑布尔运算符如!(取反)、|、||; 有字串运算如+ 、 +=等。
      在JavaScript主要有双目运算符和单目运算符。其双目运算符由下列组成:
      操作数1 运算符 操作数2
      即由两个操作数和一个运算符组成。如50+40、"This"+"that"等。单目运算符,只需一个操作数,其运算符可在前或后。
    (1)算术运算符
      JavaScript中的算术运算符有单目运算符和双目运算符。
    双目运算符:
    +(加) 、-(减)、 *(乘)、 /(除)、 %(取模) 、|(按位或)、&(按位与)、<<(左移)、 >>(右移)、 >>>(右移,零填充)。
    单目运算符:
    -(取反)、~(取补)、++(递加1)、--(递减1)。

    (2)比较运算符
      比较运算符它的基本操作过程是,首先对它的操作数进行比较,尔后再返回一个true或False值,有8个比较运算符:
    <(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、!=(不等于)。

    (3)布尔逻辑运算符
      在JavaScript中增加了几个布尔逻辑运算符:
    !(取反)、&=(与之后赋值)、 &(逻辑与)、 |=(或之后赋值)、 |(逻辑或)、 ^=(异或之后赋值)、 ^(逻辑异或)、 ?:(三目操作符)、||(或)、==(等于)、|=(不等于)。
      其中三目操作符主要格式如下:
    操作数?结果1:结果2
      若操作数的结果为真,则表述式的结果为结果1,否则为结果2。

    四、范例

      下面是一个跑马灯效果的JavaScript文档。
    <html><head><script Language="JavaScript">
    var msg="这是一个跑马灯效果的JavaScript文档";
    var interval = 100;
    var spacelen = 120;
    var space10=" ";
    var seq=0;
    function Scroll() {
    len = msg.length;
    window.status = msg.substring(0, seq+1);
    seq++;
    if ( seq >= len ) {
    seq = spacelen;
    window.setTimeout("Scroll2();", interval );}
    else
    window.setTimeout("Scroll();", interval );}
    function Scroll2() {
    var out="";
    for (i=1; i<=spacelen/space10.length; i++) out +=
    space10;
    out = out + msg;
    len=out.length;
    window.status=out.substring(seq, len);
    seq++;
    if ( seq >= len ) { seq = 0; };
    window.setTimeout("Scroll2();", interval );}
    Scroll();
    </script><body></body></html>

posted on 2004-04-09 10:39  我的乐园  阅读(653)  评论(0编辑  收藏  举报

导航