javascrip学习总结.docx

上传人:b****4 文档编号:5403366 上传时间:2022-12-16 格式:DOCX 页数:25 大小:965.84KB
下载 相关 举报
javascrip学习总结.docx_第1页
第1页 / 共25页
javascrip学习总结.docx_第2页
第2页 / 共25页
javascrip学习总结.docx_第3页
第3页 / 共25页
javascrip学习总结.docx_第4页
第4页 / 共25页
javascrip学习总结.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

javascrip学习总结.docx

《javascrip学习总结.docx》由会员分享,可在线阅读,更多相关《javascrip学习总结.docx(25页珍藏版)》请在冰豆网上搜索。

javascrip学习总结.docx

javascrip学习总结

一、Java与javascript的区别

1.基于对象和面向对象

Java是一种真正的面向对象的语言。

Javascript是种脚本语言,它是一种基于对象和事件驱动的编程语言。

尽管与C++这样成熟的面向对象的语言相比,Jscript的功能要弱一些,但对于它的预期用途而言,Jscript的功能已经足够强大了。

Jscript不是其他语言的精简版,也不是任何事物的简化。

不过它也有其局限性。

例如,您不能使用该语言来编写独立运行的应用程序,并且没有对读写文件的内置支持。

此外,Jscript脚本只能在某个解释器或“宿主”上运行,如Asp、Internet浏览器或Windows脚本宿主。

2.解释和编译

两种语言在其浏览器中所执行的方式不一样。

Java的源代码在传递到客户端执行之前,必须经过编译,因而客户端上必须具有相应平台上的仿真器或解释器。

Javascript是一种解释性编程语言,其源代码在发往客户端执行之前不需经过编译,而是将文本格式的字符代码发送给客户端由浏览器执行。

二、Javascript的实现基础

Jscript程序是语句的集合,一条Jscript语句相当于英语中的一个完整句。

Jscript语句将表达式组合起来,完成一个任务。

一个完整的javascript脚本实现应包含如下三部分:

ECMAScript核心:

为不同的宿主环境提供核心的脚本能力;ECMAScript仅仅是个描述,定义了脚本语言所有的对象、属性和方法其主要描述了如下内容:

语法、数据类型、关键字、保留字、运算符、对象、语句。

DOM(文档对象模型):

规定了访问HTML和XML的应用程序接口;DOM定义了javascript可以进行操作的文档的各个功能部件的接口,提供访问文档各个功能部件(如document、form、textarea)的途径以及操作方法。

在浏览器载入文档时,根据其支持的DOM规范级别将整个文档规划成由节点层级构成的节点树,文档中每个部分都是一个节点,然后依据节点树层级同时根据目标节点的某个属性搜索到目标节点后,调用节点的相关处理方法进行处理,完成定位到处理的整个过程。

BOM(浏览器对象模型):

提供了独立于内容而在浏览器窗口之间进行交互的对象和方法。

BOM定义了javascript可以进行操作的浏览器的各个功能部件的接口,提供访问文档各个功能部件(如窗口本身、屏幕功能部件、浏览历史记录等)的途径以及操作方法。

三、javascript语言基础

Javascript脚本解释器将按照程序代码出现的顺序来解释程序语句,因此可以将函数定义和变量声明放在标签中,此时与函数体相关的操作不会被立即执行。

基本数据类型:

1.Number型

Number型数据即为数值型数据,包括整数型和浮点型。

2.String型

表示字符型数据,javascript不区分单个字符和字符串,任何字符或字符串都可以用双引号或单引号引起来。

3.Boolean型

Boolean型数据表示的是布尔型数据,取值为true或false,分别表示逻辑真和假。

4.Undefined型

Undefined型即为未定义类型,用于不存在或者没有被赋初始值的变量或对象的属性。

5.Null型

Null型数据表示空值,作用是表明数据空缺的值。

一般将Undefined型和Null型等同对待。

6.Function型

Function型表示函数,可以通过new操作符和构造函数Function()来动态创建所需功能的函数,并为其添加函数体。

如:

VarmyFunction=newFunction(){

Statements;

};

组合类型:

Array型即为数组,在javascript脚本语言中,数组本质上即为Array对象。

如下:

Varscore=[22,4,123,99];

Varscore=[33,44,23,’34’];

Varscore=newArray(22,3,55,’aa’);

Object型为包含基本和组合数据的组合类型,且对象的成员作为对象的属性,对象的成员函数作为对象的方法。

四、对象运算符

Javascript脚本语言主要支持四种对象运算符,包括点号运算符、new运算符、delete运算符以及()运算符等。

对象包含属性和方法,点号运算符用来访问对象的属性和方法。

其用法是将对象名称与对象的属性用点号隔开。

new运算符用来创建新的对象,例如创建一个新的数组对象,如:

varexam=newArray(23,33,22,90);

delete运算符主要用于删除数组的特定元素,也可用来删除对象的属性、方法等。

如:

deleteexam[2];

typeof运算符

typeof运算符用于表明操作数的数据类型,返回数值类型为一个字符串。

如:

varmyString=typeof(data);

break和continue:

break语句的作用是立即跳出循环;continue语句的作用是停止正在进行的循环,而直接进入下一次循环。

with对象操作语句:

with操作语句可以简化对象属性和方法的引用过程,如下:

with(object){

statements;

}

使用for…in进行对象循环:

for…in循环语句可以对指定对象的属性和方法进行遍历,其语法结构如下:

for(变量名in对象名){

statements;

}

五、javascript事件处理

用户可以通过多种方式与浏览器中的页面进行交互,而事件是交互的桥梁。

广义上讲,javascript脚本中的事件是指用户载入目标页面直到该页面被关闭期间浏览器的动作及该页面对用户操作的响应。

事件处理器是与特定的文本和特定的事件相联系的javascript脚本代码,当该文本发生改变或者事件被触发时,浏览器执行该代码并进行相应的处理操作,而响应某个事件而进行的处理过程称为事件处理。

HTML文档事件:

HTML文档事件包括用户载入目标页面直到该页面被关闭期间浏览器的动作及该页面对用户操作的响应,主要分为浏览器事件和HTML元素事件两大类。

事件捆绑:

HTML文档将元素的常用事件当作属性捆绑在HTML元素上,当该元素的特定事件发生时,对应于此特定事件的事件处理器就被执行,并将处理结果返回给浏览器。

事件捆绑导致特定的代码放置在其所处对象的事件处理器中。

浏览器事件:

浏览器事件指载入文档直到该文档被关闭期间的浏览器事件。

如:

onload、onunload、onblur、onfocus等。

HTMl元素事件:

页面载入后,用户与页面的交互主要指发生在按钮、链接、表单、图片等html元素上的用户动作以及该页面对此动作所作出的响应。

javascript如何处理事件:

尽管html事件属性可以将事件处理器绑定为文本的一部分,但其代码一般较为短小,功能较弱。

相比较而言,使用javascript脚本可以更为方便的处理各种事件。

匿名函数:

匿名函数的方式即使用function对象构造匿名的函数,并将其方法复制给事件,此时该匿名的函数称为该事件的事件处理器。

显式声明:

将事件的处理器设置为已经存在的函数。

事件处理器的返回值:

事件处理器能将结果返回给事件,并由此影响事件的默认行为。

事件处理器设置的灵活性:

html将事件看成对象的属性,可以通过给该属性赋值的方式来改变事件的处理器。

如:

document.all.MyForm.MyButton.onclick=MyHandlerA;

基于对象编程

javascript脚本为基于对象的脚本编程语言而不是面向对象的编程语言,是因为javascript以DOM和BOM中定义的对象模型及操作方法为基础,但又不具备面向对象编程语言所必具备的显著特征如分类、继承、封装、多态、重载等。

javascript支持DOM和BOM提供的对象模型,用于根据其对象模型层次结构来访问目标对象的属性并施加对象以响应的操作。

HTML文档结构

载入文档后,document元素相对于该文档而言是唯一的,访问该层次结构图中任何元素都以document为根元素进行访问。

DOM(文档结构模型)应运而生,其主要关注在浏览器解释HTML文档时如何设定各元素的这种“社会”关系及处理这种关系的方法。

javascript核心对象:

文档对象的引用:

客户端浏览器载入html文档时,对于所有可以编码的html元素按照DOM规范和载入元素的顺序生成对象数组,该对象数组中各对象之间的相对位置随着html文档的确定而确定下来,javascript脚本可以通过这个确定的相对位置来访问该对象。

上述的方法对文档结构的依赖较大,一旦文档结构改变就必须改变对象访问的语句,可以通过给对象命名的方法来解决。

通过name属性访问文档对象:

document.MyForm1.MyTextOfForm1.value

通过id属性访问文档对象:

document.getElementById(‘p1’);

通过联合数组访问文档对象:

在html被浏览器解释执行的同时,同类型的元素将构成某个联合数组的元素,可通过一个整数或者字符串为索引参数,完全定位该对象。

一般情况下使用html文档中分配给标记元素的id属性或name属性作为参数。

document.forms[“MyForm1”].elements[0].value

用户自定义对象:

在javascript脚本语言中,主要有javascript核心对象、文档对象、浏览器对象、用户自定义对象,其中用户自定义对象占据着举足轻重的作用。

javascript作为基于对象的编程语言,其对象实例采用构造函数来创建。

每一个构造函数包括一个对象模型,定义了每个对象包含的属性和方法。

javascript脚本中创建自定义对象的方法主要有两种:

通过定义对象的构造函数的方法和通过对象直接初始化的方法。

通过定义对象的构造函数的方法:

通过对象直接初始化的方法:

此方法不需要生成此对象的实例。

修改、删除对象实例的属性:

javascript脚本可以动态添加对象实例的属性,也可以动态修改、删除某个对象实例的属性。

通过原型为对象添加新属性和新方法:

javascript语言中所有对象都由object对象派生,每个对象都有指定了其结构的原型(prototype)属性。

可以通过对象的prototype属性为对象动态添加新属性和新方法。

原型的属性和方法将按引用复制给类中的每个对象,因此他们都具有相同的值。

可以在一个对象中更改原型属性的值,新的值将覆盖默认值。

递归:

递归是一种重要的编程技术。

functionfactorial(aNumber){

aNumber=Math.floor(aNumber);//如果这个数不是一个整数,则向下舍入。

if(aNumber<0){//如果这个数小于0,拒绝接收。

return-1;

}

if(aNumber==0){//如果为0,则其阶乘为1。

return1;

}

elsereturn(aNumber*factorial(aNumber-1));//否则,递归直至完成。

}

文档对象模型(DOM)

文档对象模型(DocumentObjectModel:

DOM)。

W3C解释为:

文档对象模型是一个能够让程序和脚本动态访问和更新文档内容、结构和样式的语言平台,提供了标准的HTML和XML对象集,并有一个标准的接口来访问并操作它们。

文档对象模型定义了javascript可以进行操作的浏览器,描述了文档对象的逻辑结构及各功能部件的标准接口。

主要包括:

核心javascript语言参考;与数据类型相关的核心对象;浏览器对象;文档对象。

String、Math、Array

String对象是javascript核心对象之一,主要实现字符串检查、连接、分割等相关操作。

使用String对象的方法来操作目标对象并不操作对象本身,而只是返回包含操作结果的字符串。

例如要设置改变某个字符串的值,必须要定义该字符串等于将对象实施某种操作的结果:

varMyString=newString(“Welcometojavascriptworld!

”);

MyString=MyString.toUpperCase();

获取目标字符串长度:

字符串的长度length作为String对象的唯一属性。

varMyString=newString(“Welcometojavascriptworld!

”);

varstrLength=MyString.length;

连接两个字符串:

String对象的concat()方法能将作为参数传入的字符串加入到调用该方法的字符串的末尾并将结果返回给新的字符串,语法如下:

newString=targetString.concat(anotherString);

获取字符位置:

varindex1=EmainString.indexOf(“@”);

获取指定位置的字符串:

slice、substr、substring

分割字符串:

String.split(separator,num);

String.split(separator);

String.split(regexpression,num);

num表示返回的子串数目。

String对象常用的属性、方法:

属性:

length、prototype

方法:

charAt()/concat(string)/fontcolor()/fontsize()/indexOf()/

replace(regExpression,string)/split()/toLowerCase()/toUpperCase()/

valueOf()/

Math对象:

绝对值:

abs();平方根:

sqrt();两数中的最大值:

max(1,2);

两数中的最小值:

min(1,2);最接近的整数:

round(2.1);生成0-1之间的随机数:

random()。

Array对象:

数组可用构造函数Array()产生,主要有三种构造方法:

varMyArray=newArray();

varMyArray=newArray(4);

varMyArray=newArray(arg1,arg2,…,argN);或者:

varMyArray=[arg1,arg2,…,argN];

数组中元素的顺序问题:

reverse()方法将按照数组的索引号的顺序将数组中元素完全颠倒;

sort()方法按照字母顺序将数组中元素进行排列。

Date对象:

javascript脚本内置了核心对象Date。

varMyDate=newDate();

varMyDate=newDate(milliseconds);

varMyDate=newDate(string);

varMyDate=newDate(year,month,day,hours,minutes,seconds,milliseconds);

variyear=MyDate.getYear();

varimonth=MyDate.getMonth();

variweek=MyDate.getDay();

varidate=MyDate.getDate();

varihours=MyDate.getHours();

variminutes=MyDate.getMinutes();

variseconds=MyDate.getSeconds();

Number对象:

创建Number对象实例:

varMyDate=newNumber();varMyDate=newNumber(value);

将Number对象转化为字符串:

varMyData=newNumber(238);

varstr=MyDate.toString();

Boolean对象:

Boolean对象的实例可通过使用Boolean对象的构造函数、new操作符或Boolean()函数来创建:

varMyBool=newBoolean();

varMyBool=newBoolean(value);

将Boolean对象转化为字符串实例:

varMyBool=newBoolean(true);

varstr=MyBool.toString();

Function对象:

javascript核心对象Function为构造函数的对象,由于开发者一般直接定义函数而不是通过使用Function对象创建实例的方式来生成函数,对于实际编程而言,Function对象很少涉及,但对它的正确理解却很重要。

如:

functionsayHello(username){

alert(“Hello”+username);

}或者:

varsayHello=newFunction(username){alert(“Hello”+username);};

Object对象:

所有的javascript对象都继承自Object对象。

eval():

该函数可以对以字符串形式表示的任意有效的jscript代码求值:

Window及相关顶级对象

在DOM架构中,Window、Frames、Navigator等顶级对象产生于浏览器载入文档至关闭文档期间的不同阶段,并起着互不相同且不可替代的作用。

 

Window对象:

Window对象为浏览器窗口对象,为文档提供一个显示的容器。

警告框:

window.alert(str);或者alert(str);

确认框:

确认框使用Window对象的confirm()方法产生。

answer=window.confirm(Str);或者answer=confirm(Str);

创建和管理新窗口

Window对象提供完整的方法用于创建新窗口并在父窗口和子窗口之间进行通信。

主要使用open()方法创建新浏览器窗口。

varnewWindow=window.open(targetURL,pageName,options,replace);varnewWindow=open(targetURL,pageName,options,replace);

History对象

在顶级对象模型中,History对象处于Window对象的下一个层次,主要用于跟踪浏览器最近访问的历史URL地址列表。

History对象提供back()/forward()/go()方法来实现站点页面的导航。

back()/forward()方法实现的功能分别与浏览器工具栏中后退和前进导航按钮相同。

而go()方法则可以接受合法参数,并将浏览器定位到由参数指定的历史页面。

go()方法进行站点导航:

History对象站点导航的方法:

history.go(index|URLString)

该方法可以接受两种类型的参数,参数index传入导航目标页面与当前页面之间的相对位置,正整数表示向前,负整数值表示向后;参数URLString表示历史URL列表中目标页面的URL。

Location对象:

Location对象在顶级对象模型中处于Window对象的下一个层级,用于保存浏览器当前打开的窗口或框架的URL信息。

URL(UniformResourceLocator:

统一资源定位符)

Frame对象:

iframe元素对象:

iframe元素对象本质上是通过标记对嵌入目标文档到父文档时所产生的对象,表示浮动在父窗口中的目标文档。

Document对象:

Document对象可以更新正在装入和已经装入的文档,并使用javascript脚本访问其属性和方法来操作已加载文档中包含的html元素。

包含当前浏览器窗口或框架内区域中的所有内容,包含文本域、按钮、单选框、复选框、下拉框、图片、链接等html页面可访问元素,但不包含浏览器的菜单栏、工具栏和状态栏。

设置文档颜色值:

Document对象提供了几个属性如fgColor/bgColor等来设置Web页面的显示颜色,它们一般定义在标记中,在文档布局确定之前完成设置。

如:

Jscript错误:

Jscript运行时错误;

Jscript语法错误;

Jscript方法:

anchor方法

调用anchor方法来在String对象外创建一个命名的锚点。

下面示例说明了anchor方法是如何实现这个的:

varstrVariable="Thisisananchor";

strVariable=strVariable.anchor("Anchor1");

执行完最后一条语句后strVariable的值为:

Thisisananchor

不检查该标记是否已经被应用于该字符串。

charAt方法:

返回指定索引位置处的字符。

strObj.charAt(index)

concat方法,返回一个新数组,这个新数组是由两个或更多数组组合而成的。

functionConcatArrayDemo(){

   vara,b,c,d;

   a=newArray(1,2,3);

   b="JScript";

   c=newArray(42,"VBScript);

   d=a.concat(b,c);

//返回数组[1,2,3,"JScript",42,"VBScript"]

   return(d);

}

functionconcatDemo()

{

   varstr1="ABCDEFGHIJKLM"

   varstr2="NOPQRSTUVWXYZ";

   vars=str1.concat(str2);

   //返回连接好的字符串。

   return(s);

}

eval()方法:

检查Jscript代码并执行。

eval(codeString),codeString参数是包含有效Jscript代码的字符串值。

fontcolor方法:

把带有color属性的一个html标记放置在String对象中的文本两端。

如:

str.fontcolor(colorVal)

indexOf方法:

返回String对象内第一次出现子字符串的字符位置。

如果没有找到子字符串,则返回-1.

join方法:

返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分割开来。

functionJoinDemo(){

   vara,b;

   a=newArray(0,1,2,3,4);

   b=a.join("-");

   ret

展开阅读全文
相关搜索

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1