javascrip学习总结Word文件下载.docx
《javascrip学习总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《javascrip学习总结Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
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元素对象本质上是通过<
iframe>
和<
/iframe>
标记对嵌入目标文档到父文档时所产生的对象,表示浮动在父窗口中的目标文档。
Document对象:
Document对象可以更新正在装入和已经装入的文档,并使用javascript脚本访问其属性和方法来操作已加载文档中包含的html元素。
包含当前浏览器窗口或框架内区域中的所有内容,包含文本域、按钮、单选框、复选框、下拉框、图片、链接等html页面可访问元素,但不包含浏览器的菜单栏、工具栏和状态栏。
设置文档颜色值:
Document对象提供了几个属性如fgColor/bgColor等来设置Web页面的显示颜色,它们一般定义在<
body>
标记中,在文档布局确定之前完成设置。
<
bodybgColor=”white”fgColor=”green”linkColor=”red”alinkColor=”blue”vlinkColor=”purple”>
Jscript错误:
Jscript运行时错误;
Jscript语法错误;
Jscript方法:
anchor方法
调用anchor方法来在String对象外创建一个命名的锚点。
下面示例说明了anchor方法是如何实现这个的:
varstrVariable="
Thisisananchor"
;
strVariable=strVariable.anchor("
Anchor1"
);
执行完最后一条语句后strVariable的值为:
ANAME="
>
Thisisananchor<
/A>
不检查该标记是否已经被应用于该字符串。
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,"
42,"
VBScript"
]
return(d);
functionconcatDemo()
{
varstr1="
ABCDEFGHIJKLM"
varstr2="
NOPQRSTUVWXYZ"
vars=str1.concat(str2);
//返回连接好的字符串。
return(s);
eval()方法:
检查Jscript代码并执行。
eval(codeString),codeString参数是包含有效Jscript代码的字符串值。
fontcolor方法:
把带有color属性的一个html<
font>
标记放置在String对象中的文本两端。
str.fontcolor(colorVal)
indexOf方法:
返回String对象内第一次出现子字符串的字符位置。
如果没有找到子字符串,则返回-1.
join方法:
返回字符串值,其中包含了连接到一起的数组的所有元素,元素由指定的分隔符分割开来。
functionJoinDemo(){
vara,b;
a=newArray(0,1,2,3,4);
b=a.join("
-"
ret