JavaScript知识.docx
- 文档编号:7296964
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:23
- 大小:36.42KB
JavaScript知识.docx
《JavaScript知识.docx》由会员分享,可在线阅读,更多相关《JavaScript知识.docx(23页珍藏版)》请在冰豆网上搜索。
JavaScript知识
JavaScript知识总结
梁超君
2004-3-25
一、什么是JavaScript
JavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。
使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个Web页面中链接多个对象,与Web客户交互作用。
从而可以开发客户端的应用程序等。
它是通过嵌入或调入在标准的HTML语言中实现的。
它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,具有以下几个基本特点:
脚本编写语言
JavaScript是一种脚本语言,它采用小程序段的方式实现编程。
像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个易的开发过程。
它的基本结构形式与C、C++、VB、Delphi十分类似。
但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。
它与HTML标识结合在一起,从而方便用户的使用操作。
基于对象的语言
JavaScript是一种基于对象的语言,同时以可以看作一种面向对象的。
这意味着它能运用自己已经创建的对象。
因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。
简单性
JavaScript的简单性主要体现在:
首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。
其次它的变量类型是采用弱类型,并未使用严格的数据类型。
安全性
JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互。
从而有效地防止数据的丢失。
动态性
JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。
它对用户的反映响应,是采用以事件驱动的方式进行的。
所谓事件驱动,就是指在主页(HomePage)中执行了某种操作所产生的动作,就称为“事件”(Event)。
比如按下鼠标、移动窗口、选择菜单等都可以视为事件。
当事件发生后,可能会引起相应的事件响应。
跨平台性
JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。
从而实现了“编写一次,走遍天下”的梦想。
二、JavaScript和Java的区别
虽然JavaScript与Java有紧密的联系,但却是两个公司开发的不同的两个产品。
Java是SUN公司推出的新一代面向对象的程序设计语言,特别适合于Internet应用程序开发;而JavaScript是Netscape公司的产品,其目的是为了扩展NetscapeNavigator功能,而开发的一种可以嵌入Web页面中的基于对象和事件驱动的解释性语言,它的前身是LiveScript;而Java的前身是Oak语言。
下面对两种语言间的异同作如下比较:
基于对象和面向对象
Java是一种真正的面向对象的语言,即使是开发简单的程序,必须设计对象。
JavaScript是种脚本语言,它可以用来制作与网络无关的,与用户交互作用的复杂软件。
它是一种基于对象(ObjectBased)和事件驱动(EventDriver)的编程语言。
因而它本身提供了非常丰富的内部对象供设计人员使用。
解释和编译
两种语言在其浏览器中所执行的方式不一样。
Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器,它可以通过编译器或解释器实现独立于某个特定的平台编译代码的束缚。
JavaScript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户编由浏览器解释执行。
强变量和弱变量
两种语言所采取的变量是不一样的。
Java采用强类型变量检查,即所有变量在编译之前必须作声明。
JavaScript中变量声明,采用其弱类型。
即变量在使用前不需作声明,而是解释器在运行时检查其数据类型,在使用变量之前先进行声明是一种好的习惯
代码格式不一样
Java是一种与HTML无关的格式,必须通过像HTML中引用外媒体那么进行装载,其代码以字节代码的形式保存在独立的文档中。
JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。
编写HTML文档就像编辑文本文件一样方便。
嵌入方式不一样
在HTML文档中,两种编程语言的标识不同,JavaScript代码由 --...//-->标识说明: 若不认识JavaScript代码的浏览器,则所有在其中的标识均被忽略;若认识,则执行其结果。 使用注释这是一个好的编程习惯,它使其他人可以读懂你的语言。 而Java使用来标识。 静态联编和动态联编 Java采用静态联编,即Java的对象引用必须在编译时的进行,以使编译器能够实现强类型检查。 JavaScript采用动态联编,即JavaScript的对象引用在运行时进行检查,如不经编译则就无法实现对象引用的检查。 三、JavaScript程序运行环境 软件环境: Windows95/98或WindowsNT。 NetscapeNavigatorx.0或InternetExplorerx.0。 用于编辑HTML文档的字符编辑器(WS、WPS、Notepad、WordPad等)或HTML文档编辑器。 硬件配置: 首先必须具备运行Windows95/98或WindowsNT的基本硬件配置环境。 推荐: 基本内存32M。 CRT只少需要256颜色,分辨率在640X480以上。 CPU只少233以上。 鼠标和其它外部设置(根据需要选用)。 三、javascript数据类型,变/常量,表达式,运算符 1、六种数据类型。 (1)、String 字符串类型: 字符串是用单引号或双引号来说明的。 (使用单引号来输入包含引号的字符串。 ) (2)、数值数据类型 JavaScript支持整数和浮点数。 整数可以为正数、0或者负数; 浮点数可以包含小数点、也可以包含一个“e”(大小写均可,在科学记数法中表示“10的幂”)、或者同时包含这两项。 (3)、Boolean类型 可能的Boolean值有true和false。 这是两个特殊值,不能用作1和0。 (4)、Undefined数据类型: 一个为undefined的值就是指在变量被创建后,但未给该变量赋值以前所具有的值。 (5)、Null数据类型: null值就是没有任何值,什么也不表示。 (6)、object类型: 除了上面提到的各种常用类型外,对象也是JavaScript中的重要组成部分,这部分将在后面章节详细介绍。 2、变量与常量: 常量 整型常量 JavaScript的常量通常又称字面常量,它是不能改变的数据。 其整型常量可以使用十六进制、八进制和十进制表示其值。 (1)、实型常量 实型常量是由整数部分加小数部分表示,如12.32、193.98。 可以使用科学或标准方法表示: 5E7、4e5等。 (2)、布尔值 布尔常量只有两种状态: True或False。 它主要用来说明或代表一种状态或标志,以说明操作流程。 它与C++是不一样的,C++可以用1或0表示其状态,而JavaScript只能用True或False表示其状态。 (3)、字符型常量 使用单引号(‘)或双引号(“)括起来的一个或几个字符。 如"ThisisabookofJavaScript"、"3245"、"ewrt234234"等。 (4)、空值 JavaScript中有一个空值null,表示什么也没有。 如试图引用没有定义的变量,则返回一个Null值。 (5)、特殊字符 同C语言一样,JavaScript中同样以有些以反斜杠(/)开头的不可显示的特殊字符。 通常称为控制字符。 变量 在JavaScript中变量用来存放脚本中的值,这样在需要用这个值的地方就可以用变量来代表,一个变量可以是一个数字,文本或其它一些东西。 可以使用var语句来进行变量声明。 如: varmen=true; 变量命名必须遵循以下规则: 1、JavaScript是一种区分大小写的语言。 2、第一个字符必须是一个字母(大小写均可)、或一个下划线(_)或一个美元符($)。 3、后续的字符可以是字母、数字、下划线或美元符。 4、变量名称不能是保留字。 2、表达式 它是变量、常量、布尔及运算符的集合,因此表达式可以分为算术表述式、字串表达式、赋值表达式以及布尔表达式等。 3、运算符 运算符完成操作的一系列符号,在JavaScript中有算术运算符,有比较运算符如,有逻辑布尔运算符,有字串运算符。 主要有双目运算符和单目运算符。 双目运算符由下列组成: 操作数1运算符操作数2即由两个操作数和一个运算符组成。 单目运算符,只需一个操作数,其运算符可在前或后。 其中三目操作符主要格式如下: 操作数? 结果1: 结果2 若操作数的结果为真,则表述式的结果为结果1,否则为结果2。 (1)、算术运算符 分单目运算符和双目运算符。 双目运算符: +(加)、-(减)、*(乘)、/(除)、%(取模)、|(按位或)、&(按位与)、<<(左移)、>>(右移)、>>>(右移,零填充)。 单目运算符: -(取反)、~(取补)、++(递加1)、--(递减1)。 (2)、比较运算符 比较运算符它的基本操作过程是,首先对它的操作数进行比较,尔后再返回一个true或False值,有8个比较运算符: <(小于)、>(大于)、<=(小于等于)、>=(大于等于)、==(等于)、! =(不等于)。 (3)、布尔逻辑运算符 在JavaScript中增加了几个布尔逻辑运算符: ! (取反)、&=(与之后赋值)、&(逻辑与)、|=(或之后赋值)、|(逻辑或)、^=(异或之后赋值)、^(逻辑异或)、? : (三目操作符)、||(或)、==(等于)、|=(不等于)。 四、JavaScript程序结构及语句 1、条件和分支语句: if...else,switch。 if...else语句完成了程序流程块中分支功能: 如果其中的条件成立,则程序执行紧接着条件的语句或语句块;否则程序执行else中的语句或语句块。 语法如下: if(条件){ 执行语句1 }else{ 执行语句2 } 分支语句switch可以根据一个变量的不同取值采取不同的处理方法。 语法如下: switch(expression) { caselabel1: 语句串1; caselabel2: 语句串2; caselabel3: 语句串3; ... default: 语句串3; } 如果表达式取的值同程序中提供的任何一条语句都不匹配,将执行default 中的语句。 2、循环语句: for,for...in,while,break,continue。 for语句的语法如下: for(初始化部分;条件部分;更新部分){ 执行部分... } 只要循环的条件成立,循环体就被反复的执行。 for...in语句与for语句有一点不同,它循环的范围是一个对象所有的属性或是一个数组的所有元素。 for...in语句的语法如下: for(变量in对象或数组){ 语句... } while语句所控制的循环不断的测试条件,如果条件始终成立,则一直循环,直到条件不再成立。 语法如下: while(条件){ 执行语句... } break语句结束当前的各种循环,并执行循环的下一条语句。 continue语句结束当前的循环,并马上开始下一个循环。 4.对象操作语句: with,this,new。 with语句的语法如下: with(对象名称){ 执行语句 } 作用是这样的: 如果你想使用某个对象的许多属性或方法时,只要在with语句的()中写出这个对象的名称,然后在下面的执行语句中直接写这个对象的属性名或方法名就可以了。 new语句是一种对象构造器,可以用new语句来定义一个新对象。 语法是这样的: 新对象名称=new真正的对象名 譬如说,我们可以这样定义一个新的日期对象: varcurr=newDate(),然后,变量curr就具有了Date对象的属性。 this运算符总是指向当前的对象。 5.注释语句: //这是单行注释 /*这可以多行注释....*/ 五、函数 函数为程序设计人员提供了一个丰常方便的能力。 通常在进行一个复杂的程序设计时,总是根据所要完成的功能,将程序划分为一些相对独立的部分,每部分编写一个函数。 从而,使各部分充分独立,任务单一,程序清晰,易懂、易读、易维护。 JavaScript函数可以封装那些在程序中可能要多次用到的模块。 并可作为事件驱动的结果而调用的程序。 从而实现一个函数把它与事件驱动相关联。 这是与其它语言不样的地方。 1、JavaScript函数定义 Function函数名(参数,变元){ 函数体;. Return表达式; } 说明: 当调用函数时,所用变量或字面量均可作为变元传递。 函数由关键字Function定义。 函数名: 定义自己函数的名字。 参数表,是传递给函数使用或操作的值,其值可以是常量,变量或其它表达式。 通过指定函数名(实参)来调用一个函数。 必须使用Return将值返回。 函数名对大小写是敏感的。 2、函数中的形式参数: 在函数的定义中,我们看到函数名后有参数表,这些参数变量可能是一个或几个。 那么怎样才能确定参数变量的个数呢? 在JavaScript中可通过arguments.Length来检查参数的个数。 六、事件驱动及事件处理 归纳起来,必需使用的事件有三大类: 引起页面之间跳转的事件,主要是超连接事件。 事件浏览器自己引起的事件。 事件在表单内部同界面对象的交互。 1、概念 JavaScript是基于对象(object-based)的语言。 这与Java不同,Java是面向对象的语言。 而基于对象的基本特征,就是采用事件驱动(event-driven)。 它是在用形界面的环境下,使得一切输入变化简单化。 通常鼠标或热键的动作我们称之为事件(Event),而由鼠标或热键引发的一连串程序的动作,称之为事件驱动(EventDriver)。 而对事件进行处理程序或函数,我们称之为事件处理程序(EventHandler)。 2、件处理程序 在JavaScript中对象事件的处理通常由函数(Function)担任。 其基本格式与函数全部一样,可以将前面所介绍的所有函数作为事件处理程序。 格式如下: Function事件处理名(参数表){ 事件处理语句集; …… } 3、事件驱动 JavaScript事件驱动中的事件是通过鼠标或热键的动作引发的。 它主要有以下几个事件: (1)、单击事件onClick 当用户单击鼠标按钮时,产生onClick事件。 同时onClick指定的事件处理程序或代码将被调用执行。 通常在下列基本对象中产生: button(按钮对象) checkbox(复选框)或(检查列表框) radio(单选钮) resetbuttons(重要按钮) submitbuttons(提交按钮) (2)、onChange改变事件 当利用text或texturea元素输入字符值改变时发该事件,同时当在select表格项中一个选项状态改变后也会引发该事件。 (3)、选中事件onSelect 当Text或Textarea对象中的文字被加亮后,引发该事件。 (4)、获得焦点事件onFocus 当用户单击Text或textarea以及select对象时,产生该事件。 此时该对象成为前台对象。 (5)、失去焦点onBlur 当text对象或textarea对象以及select对象不再拥有焦点、而退到后台时,引发该文件,他与onFocas事件是一个对应的关系。 (6)、载入文件onLoad 当文档载入时,产生该事件。 onLoad一个作用就是在首次载入一个文档时检测cookie的值,并用一个变量为其赋值,使它可以被源代码使用。 (7)、卸载文件onUnload 当Web页面退出时引发onUnload事件,并可更新Cookie的状态。 七、对象的基础知识 在JavaScript中,可以使用以下几种对象: 由浏览器根据web页面的内容自动提供的对象。 JavaScript的内置对象,如Date,Math等。 服务器上的固有对象。 用户自定义的对象。 1、对象的基本结构 JavaScript中的对象是由属性(properties)和方法(methods)两个基本的元素的构成的。 前者是对象在实施其所需要行为的过程中,实现信息的装载单位,从而与变量相关联;后者是指对象能够按照设计者的意图而被执行,从而与特定的函数相联。 2、引用对象的途径 一个对象要真正地被使用,可采用以下几种方式获得: *引用JavaScript内部对象; *由浏览器环境中提供; *创建新对象。 这就是说一个对象在被引用之前,这个对象必须存在,否则引用将毫无意义,而出现错误信息。 从上面中我们可以看出JavaScript引用对象可通过三种方式获取。 要么创建新的对象,要么利用现存的对象。 3、有关对象操作语句 JavaScript不是一纯面向对象的语言,它设有提供面向对象语言的许多功能,因此JavaScript设计者之所以把它你“基于对象”而不是面向对象的语言,在JavaScript中提供了几个用于操作对象的语句和关键字及运算符。 (1)For...in语句 格式如下: For(对象属性名in已知对象名) 说明: 该语句的功能是用于对已知对象的所有属性进行操作的控制循环。 它是将一个已知对象的所有属性反复置给一个变量;而不是使用计数器来实现的。 该语句的优点就是无需知道对象中属性的个数即可进行操作。 (2)with语句 使用该语句的意思是: 在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。 withobject{ ...} 所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。 (3)this关键字 this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。 (4)New运算符 虽然在JavaScript中对象的功能已经是非常强大的了。 但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。 使用New运算符可以创建一个新的对象。 其创建对象使用如下格式: Newobject=NEWObject(Parameterstable); 其中Newobject创建的新对象: object是已经存在的对象;parameterstable参数表;new是JavaScript中的命令语句。 如创建一个日期新对象 newData=NewData() birthday=NewData(December12.1998) 之后就可使NewData、birthday作为一个新的日期对象了。 4、对象属性的引用 对象属性的引用可由下列三种方式之一实现: (1)使用点(.)运算符 (2)通过对象的下标实现引用 (3)通过字符串的形式实现 5、对象的方法的引用 在JavaScript中对象方法的引用是非常简单的。 ObjectName.methods() 6、常用对象的属性和方法 JavaScript为我们提供了一些非常有用的常用内部对象和方法。 用户不需要用脚本来实现这些功能。 这正是基于对象编程的真正目的。 在JavaScript提供了string(字符串)、math(数值计算)和Date(日期)三种对象和其它一些相关的方法。 从而为编程人员快速开发强大的脚本程序提供了非常有利的条件。 7、常用内部对象 在JavaScript中对于对象属性与方法的引用,有两种情况: 其一是说该对象是静态对象,即在引用该对象的属性或方法时不需要为它创建实例;而另一种对象则在引用它的对象或方法是必须为它创建一个实例,即该对象是动态对象。 对JavaScript内部对象的引用,以是紧紧围绕着它的属性与方法进行的。 因而明确对象的静动性对于掌握和理解JavaScript内部对象是具有非常重要的意义。 1、串对象 string对象: 内部静态性。 访问properties和methods时,可使用(.)运算符实现。 基本使用格式: objectName.prop/methods (1)串对象的属性 该对象只有一个属性,即length。 它表明了字符串中的字符个数,包括所有符号。 (2)串对象的方法 string对象的方法共有19个。 主要用于有关字符串在Web页面中的显示、字体大小、字体颜色、字符的搜索以及字符的大小写转换。 其主要方法如下: #锚点anchor(): 该方法创建如用Html文档中一样的anchor标记。 使用anchor如用Html中(AName="")一样。 通过下列格式访问: string.anchor(anchorName)。 有关字符显示的控制方法 #big字体显示,Italics()斜体字显示,bold()粗体字显示,blink()字符闪烁显示,small()字符用小体字显示,fixed()固定高亮字显示、fontsize(size)控制字体大小等。 #字体颜色方法;fontcolor(color) #字符串大小写转换 toLowerCase()-小写转换,toUpperCase()大写转换。 下列把一个给定的串分别转换成大写和小写格式: string=stringValue.toUpperCase和string=stringValue.toLowerCase。 #字符搜索: indexOf[charactor,fromIndex] 从指定formIndtx位置开始搜索charactor第一次出现的位置。 返回字串的一部分字串: substring(start,end) 从start开始到end的字符全部返回。 2、算术函数的math对象 功能: 提供除加、减、乘、除以外的一引些自述运算。 如对数,平方根等。 静动性: 静态对象 (1)主要属性 math中提供了6个属性,它们是数学中经常用到的常数E、以10为底的自然对数LN10、以2为底的自然对数LN2、3.14159的PI、1/2的平方根SQRT1-2,2的平方根为SQRT2。 (2)主要方法 绝对值:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JavaScript 知识