来源:远方网络 | 2005-3-7 22:36:35 | (有2280人读过)
javascript语言和Java语言是相关的,但它们之间的联系并不像想象中的那样紧密。
二者的区别体现在: 首先,它们是两个公司开发的不同的两个产品,Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言。
其次,javascript是基于对象的,而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。javascript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象和事件驱动的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。
第三,两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,由浏览器解释执行。
第四,两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。javascript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。
第五,代码格式不一样。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。javascript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
第六,嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用 <script>...</script> 来标识,而Java使用<applet> ... </applet>来标识。
第七,静态绑定和动态绑定。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。javascript采用动态联编,即javascript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。
3.JS的运行环境 --------------
javascript语言和Java语言是相关的,但它们之间的联系并不像想象中的那样紧密。
二者的区别体现在: 首先,它们是两个公司开发的不同的两个产品,Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而javascript是Netscape公司的产品,其目的是为了扩展Netscape Navigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言。
其次,javascript是基于对象的,而Java是面向对象的,即Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。javascript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。它是一种基于对象和事件驱动的编程语言。因而它本身提供了非常丰富的内部对象供设计人员使用。
第三,两种语言在其浏览器中所执行的方式不一样。Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户,由浏览器解释执行。
第四,两种语言所采取的变量是不一样的。Java采用强类型变量检查,即所有变量在编译之前必须作声明。javascript中变量声明,采用其弱类型。即变量在使用前不需作声明,而是解释器在运行时检查其数据类型。
第五,代码格式不一样。Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。javascript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。
第六,嵌入方式不一样。在HTML文档中,两种编程语言的标识不同,javascript使用 <script>...</script> 来标识,而Java使用<applet> ... </applet>来标识。
第七,静态绑定和动态绑定。Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。javascript采用动态联编,即javascript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。
4.JS的数据类型和变量 --------------------
javascript 有六种数据类型。主要的类型有 number、string、object 以及 Boolean 类型,其他两种类型为 null 和 undefined。
String 字符串类型:字符串是用单引号或双引号来说明的。(使用单引号来输入包含引号的字符串。)如:“The cow jumped over the moon.”
数值数据类型:javascript 支持整数和浮点数。整数可以为正数、0 或者负数;浮点数可以包含小数点、也可以包含一个 “e”(大小写均可,在科学记数法中表示“10的幂”)、或者同时包含这两项。
Boolean 类型:可能的 Boolean 值有 true 和 false。这是两个特殊值,不能用作 1 和 0。
Undefined 数据类型:一个为 undefined 的值就是指在变量被创建后,但未给该变量赋值以前所具有的值。
Null 数据类型:null 值就是没有任何值,什么也不表示。
object类型:除了上面提到的各种常用类型外,对象也是javascript中的重要组成部分,这部分将在后面章节详细介绍。
在 javascript 中变量用来存放脚本中的值,这样在需要用这个值的地方就可以用变量来代表,一个变量可以是一个数字,文本或其它一些东西。
javascript是一种对数据类型变量要求不太严格的语言,所以不必声明每一个变量的类型,变量声明尽管不是必须的,但在使用变量之前先进行声明是一种好的习惯。可以使用 var 语句来进行变量声明。如:var men = true; // men 中存储的值为 Boolean 类型。
变量命名:javascript 是一种区分大小写的语言,因此将一个变量命名为 computer 和将其命名为 Computer是不一样的。 另外,变量名称的长度是任意的,但必须遵循以下规则: 1.第一个字符必须是一个字母(大小写均可)、或一个下划线(_)或一个美元符 ($)。 2.后续的字符可以是字母、数字、下划线或美元符。 3.变量名称不能是保留字。
5.JS的语句及语法 ----------------
javascript所提供的语句分为以下几大类: 1.变量声明,赋值语句:var。 语法如下: var 变量名称 [=初始值] 例:var computer = 32 //定义computer是一个变量,且有初值为32。
2.函数定义语句:function,return。 语法如下: function 函数名称 (函数所带的参数) { 函数执行部分 }
return 表达式 //return语句指明将返回的值。 例:function square ( x ) { return x*x }
3.条件和分支语句:if...else,switch。 if...else语句完成了程序流程块中分支功能:如果其中的条件成立,则程序执行紧接着条件的语句或语句块;否则程序执行else中的语句或语句块。 语法如下: if (条件) { 执行语句1 }else{ 执行语句2 } 例:if (result == true) { response = “你答对了!” }else{ response = “你错了!” }
分支语句switch可以根据一个变量的不同取值采取不同的处理方法。 语法如下: switch (expression) { case label1: 语句串1; case label2: 语句串2; case label3: 语句串3; ... default: 语句串3; } 如果表达式取的值同程序中提供的任何一条语句都不匹配,将执行default 中的语句。
4. 循环语句:for, for...in,while,break,continue。 for语句的语法如下: for (初始化部分;条件部分;更新部分) { 执行部分... } 只要循环的条件成立,循环体就被反复的执行。 for...in语句与for语句有一点不同,它循环的范围是一个对象所有的属性或是一个数组的所有元素。
for...in语句的语法如下: for (变量 in 对象或数组) { 语句... }
while语句所控制的循环不断的测试条件,如果条件始终成立,则一直循环,直到条件不再成立。 语法如下: while (条件) { 执行语句... }
break语句结束当前的各种循环,并执行循环的下一条语句。
continue语句结束当前的循环,并马上开始下一个循环。
5.对象操作语句:with,this,new。 with语句的语法如下: with (对象名称){ 执行语句 } 作用是这样的:如果你想使用某个对象的许多属性或方法时,只要在with语句的()中写出这个对象的名称,然后在下面的执行语句中直接写这个对象的属性名或方法名就可以了。
new语句是一种对象构造器,可以用new语句来定义一个新对象。 语法是这样的:新对象名称= new 真正的对象名 譬如说,我们可以这样定义一个新的日期对象: var curr= new Date(),然后,变量curr就具有了Date对象的属性。
this运算符总是指向当前的对象。
6.注释语句://,/*...*/。 //这是单行注释 /*这可以多行注释.... */
6.JS的对象及其属性和方法 ------------------------
在javascript中是基于对象的编程,而不是完全的面向对象的编程。 那麽什麽是对象呢?如果你学过一些VB的编程,对这个名词一定不会陌生。通俗的说,对象是变量的集合体,对象提供对于数据的一致的组织手段,描述了一类事物的共同属性。
在javascript中,可以使用以下几种对象: 1.由浏览器根据web页面的内容自动提供的对象。 2.javascript的内置对象,如Date,Math等。 3.服务器上的固有对象。 4.用户自定义的对象。
javascript中的对象是由属性和方法两个基本的元素的构成的。对象的属性是指对象的背景色,长度,名称等。对象的方法是指对属性所进行的操作,就是一个对象自己所属的函数,如对对象取整,使对象获得焦点,使对象获得个随机数等等一系列操作。
举个例子来说,将汽车看成是一个对象,汽车的颜色,大小,品牌等叫做属性,而发动,刹车,拐弯等就叫做方法。
可以采用这样的方法来访问对象的属性:对象名称.属性名称,例:mycomputer.year=1996,mycomputer.owner = “me”。
可以采用这样的方法,将对象的方法同函数联系起来:对象.方法名字=函数名字或对象.属性.方法名,例:this.display=display,document.writeln(“this is method”)。
多看或多写一些程序,就会理解对象的方法和属性的含义了!各个对象的各种属性和方法,可点击参考!
7.JS的事件处理 -------------- 事件是浏览器响应用户交互操作的一种机制,javascript的事件处理机制可以改变浏览器响应用户操作的方式,这样就开发出具有交互性,并易于使用的网页。
浏览器为了响应某个事件而进行的处理过程,叫做事件处理。
事件定义了用户与页面交互时产生的各种操作,例如单击超级连接或按钮时,就产生一个单击(click)操作事件。浏览器在程序运行的大部分时间都等待交互事件的发生,并在事件发生时,自动调用事件处理函数,完成事件处理过程。
事件不仅可以在用户交互过程中产生,而且浏览器自己的一些动作也可以产生事件,例:当载入一个页面时,就会发生load事件,卸载一个页面时,就会发生unload事件等。
归纳起来,必需使用的事件有三大类: 1.引起页面之间跳转的事件,主要是超连接事件。 2.事件浏览器自己引起的事件。 3.事件在表单内部同界面对象的交互。
(完)
|