javascriptWord文档下载推荐.docx

上传人:b****6 文档编号:19982559 上传时间:2023-01-13 格式:DOCX 页数:33 大小:29.90KB
下载 相关 举报
javascriptWord文档下载推荐.docx_第1页
第1页 / 共33页
javascriptWord文档下载推荐.docx_第2页
第2页 / 共33页
javascriptWord文档下载推荐.docx_第3页
第3页 / 共33页
javascriptWord文档下载推荐.docx_第4页
第4页 / 共33页
javascriptWord文档下载推荐.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

javascriptWord文档下载推荐.docx

《javascriptWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《javascriptWord文档下载推荐.docx(33页珍藏版)》请在冰豆网上搜索。

javascriptWord文档下载推荐.docx

  oTempCar.mpg=23;

oTempCar.showColor=function()

alert(this.color)

};

  returnoTempCar;

}

varoCar1=createCar();

varoCar2=createCar();

  这里,前面的所有代码都包含在createCar()函数中,此外还有一行额外的代码,返回Car对象作为函数值。

调用此函数时,将创建新对象,并赋予它所有必要的属性,复制出一个前面说明的car对象。

使用该方法,可以容易地创建car对象的两个版本,他们的属性完全一样。

当然,还可以修改creatCar()函数,给它传递各个属性的默认值,而不是赋予属性默认值:

FunctioncreateCar(sColor,iDoors,iMpg)

  VaroTempCar=newObject();

  oTempCar.color=sColor;

  oTempCar.doors=iDoors;

oTempCar.mpg=iMpg;

//该函数属于具体的对象,给具体对象动态添加的一个函数

oTempCar.showColor=function(){alert(this.color)};

returnoTempCar;

VaroCar1=createCar("

4,23);

VaroCar2=createCar("

blue"

2,26);

oCar1.showColor();

      //输出"

oCar2.showColor();

  给createCar()函数加上参数,即可为要创建的car对象的color、doors和mpg属性赋值。

使这两个对象具有相同的属性,却有不同的属性值。

但这里有个问题:

每次调用函数createCar(),都要创建新函数showColor(),意味着每个对象都有自己的showColor()方法版本。

事实上,每个对象用的都是同一段代码。

这样的定义方法还有一个如下的变形:

functionCar(sColor,iDoors,iMpg)

{

  this.color=sColor;

  this.doors=iDoors;

  this.mpg=iMpg;

  this.showColor=function(){alert(this.color)};

varoCar1=newCar("

varoCar2=newCar("

  这个方法和上一个方法有个一样的缺陷:

重复的创建了showColor()函数。

为了解决这个缺陷我们可以用下面的方法。

1.2原型方式

  该方法利用了对象的prototype属性。

用空构造函数来设置类名,然后所有的属性和方法都被直接赋予prototype属性:

functionCar()

Car.prototype.color="

Car.prototype.doors=4;

Car.prototype.mpg=23;

Car.prototype.showColor=function()

VaroCar1=newCar();

VaroCar2=newCar();

  使用这个方法可以解决在内存中重复创建showColor()函数问题,但又会有新的问题,考虑下面的例子:

Car.prototype.drivers=newArray("

Mike"

"

Sue"

);

Car.prototype.showColor=function(){alert(this.color)};

//改变颜色

oCar1.color="

oCar1.drivers.push("

Matt"

//向数组中压进去一个元素,该元素位于数组的最后

alert(oCar1.drivers);

    //输出"

Mike,Sue,Matt"

alert(oCar2.drivers);

  这里,属性drivers是指向Array对象的指针。

改变指针指向的内容,所有的实例都会改变。

看来这种方法也不可取

1.3混合方式

  这种方式就是用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)。

结果所有的函数只创建一次,而每个对象都具有自己的对象属性实例。

functionCar(sColor,iDoors,iMpg)

  this.drivers=newArray("

//利用原型适合声明类的方法,在生成的多个对象中该方法仅声明一次

3,25);

Mike,Sue"

这种方式是JavaScript主要采用的方式,它具有其他方式的特性,却没有它们的缺陷。

在实际编程中应用的也是最多了。

1.4混合方式

  另外还有JSON创建方式。

其创建的方式如下:

varCar=

  color:

"

  doors:

4,

  mpg:

23,

  drivers:

[{name:

age:

20,Married:

false},{name:

30,Married:

true}],

  showColor:

function(){alert(this.color);

  这种创建对象的方式也比较优雅。

可作为Ajax返回的文本,然后用eval()函数将其还原成一个对象。

著名的脚本框架Dwr,JQuery等就有专门接收返回文本而后转化为JSON对象的异步通信方法。

二、有关对象操作语句

JavaScript不是一纯面向对象的语言,它设有提供面向对象语言的许多功能,因此JavaScript设计者之所以把它你”基于对象”而不是面向对象的语言,在JavaScript中提供了几个用于操作对象的语句和关键字及运算符。

1)、for...in语句

格式如下:

for(对象属性名in已知对象名)

说明:

该语句的功能是用于对已知对象的所有属性进行操作的控制循环。

它是将一个已知对象的所有属性反复置给一个变量;

而不是使用计数器来实现的。

该语句的优点就是无需知道对象中属性的个数即可进行操作。

下面的for语句是通过数组下标顺序值,来访问每个对象的属性

for(varj=0;

j<

10;

j++)

案理:

<

html>

head>

title>

test.html<

/title>

functionshowData(object)

for(varx=0;

x<

3;

x++)

document.write(object[x]);

vararr=newArray('

1'

'

2'

3'

showData(arr);

/head>

body>

/body>

/html>

该函数是通过数组下标顺序值,来访问每个对象的属性,使用这种方式首先必须知道数组的下标值,否则若超出范围,则就会发生错误。

而使For...in语句,则根本不需要知道对象属性的个数,见下:

案理1:

循环数组元素(每次取到一个下标)

for(varpropinobject)

alert(prop);

document.write(object[prop]);

案理2:

循环对象属性(每次取到一个属性名)

test5.html<

functionpeople(name,sex,age)

{

this.name=name;

this.sex=sex;

this.age=age;

varobj=newpeople('

张三'

男'

20);

alert(obj['

name'

]);

//取对象属性的值

alert(obj.name);

//取对象属性的值

for(varpropinobj)

alert(obj[prop]);

body>

2)、with语句

使用该语句的意思是:

在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。

with(object)

...

}

所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。

案例:

with应用<

functioncheck()

with(form1)

varusername_v=username.value;

if(username_v=="

"

alert("

用户名不能为空!

username.focus();

return(false);

return(true);

}

formname="

form1"

action="

method="

post"

onsubmit="

returncheck();

table>

tr>

td>

用户名<

/td>

inputname="

username"

/tr>

密码<

inputtype="

password"

name="

tdcolspan="

2"

align="

center"

buttontype="

submit"

提交<

/button>

reset"

重置<

/table>

/form>

3)、this关键字

this是对当前对象的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于指定当前对象的语句this

案理:

alert(this);

//指向即将生成的对象

4)、new运算符

虽然在JavaScript中对象的功能已经是非常强大的了。

但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。

使用new运算符可以创建一个新的对象。

其创建对象使用如下格式:

varNewobject=newObject(Parameterstable);

其中Newobject创建的新对象:

object是已经存在的对象;

parameterstable参数表;

new是JavaScript中的命令语句。

如创建一个日期新对象

varnewData=newDate();

alert(newData);

之后就可使newData作为一个新的日期对象了。

5)、对象属性的引用

对象属性的引用可由下列三种方式之一实现:

(1)使用点(.)运算符

university.name=”云南省”;

university.city=”昆明市”;

university.date=”1999”;

其中university是一个已经存在的对象,name、city、date是它的三个属性,并通过操作对其赋值。

(2)声明属性的时候用下标,可以通过对象的下标实现引用属性

university[0]=”云南省”;

university[1]=”昆明市”;

university[2]=”1999”;

通过数组形式的访问属性,可以使用循环操作获取其值。

.....

functionpeople(name,sex,age)

//下面这种方式定义属性,可以通过“for(varj=0;

2;

j++)”循环取属性

this[0]=name;

this[1]=sex;

this[2]=age;

varobject=newpeople('

functionshowuniversity(object)

document.write(object[j])

.....

若采用for...in则可以不知其属性的个数后就可以实现:

……

声明属性的时候通过下标来声明

//下面方式定义属性,可以通过“for(varpropinobject)”循环取属性

this[0]=name;

//声明属性的时候用下标

showmy(object);

functionshowmy(object)

for(varpropinobject)//循环上面方式的对象,prop为下标

docament.write(object[prop]);

注意:

在使用该形式引用属性的时候,前提是声明属性的时候也要用下标

(3)通过字符串的形式实现

university[“name”]=“云南”

university[“city”]=“昆明市”

university[“date”]="

1999"

(4)、

1、document.form1.ordermc.value

2、document.all.ordermc.value

3、document.all(“order.ordermc”).value//其中all(“”)是一个函数

4、document.getElementsByName("

order.ordermc"

)[0].value;

5、document.getElementById("

).value

在javascript中声明数组

一维数组

vararr=newArray(3);

//一维数组

vararr=newArray('

b'

c'

//一维数组(声明和数组的初始化一起进行)

vararr=['

];

vararray={'

//不可以的

二维数组

在java当中String[]ss={{'

北京'

},{2,'

上海'

},{3,'

天津'

}}

(1)在JavaScript当中不直接声明二维数组,但可以以下方式,即通过把一维数组的每个元素再声明成一个数组

vararr=newArray(3);

arr[0]=newArray('

//二维

arr[1]=newArray('

arr[2]=newArray('

取值

alert(arr[0][0]);

alert(arr[0][1]);

alert(arr[1][0]);

alert(arr[1][1]);

alert(arr[2][0]);

alert(arr[2][1]);

循环取值

for(vari=0;

i<

arr.length;

i++)

alert(arr[i][0]);

alert(arr[i][1]);

数据存放如下图

1

北京

2

上海

3

天津

 

(2)、还可以以以下方式直接声明二维数组:

varss=[['

],[2,'

],[3,'

]];

alert(ss[0][1]+"

---"

+ss[1][1]);

注意:

varss={{'

}};

//不能用该形式声明二维数组

常用的基本函数

(1)、alert函数:

显示一个警告对话框,包括一个确定按钮。

(2)、confirm函数:

显示一个确认对话框,包括OK、Cancel按钮。

(3)、prompt函数:

显示一个输入对话框,提示等待用户输入。

例如:

(4)、escape函数:

将字符转换成Unicode码。

(5)、unescape函数:

解码由escape函数编码的字符。

varstr="

未来蓝图软件教育"

varv=escape(str);

alert(v);

varv2=unescape(v);

alert(v2);

(6)、eval函数:

计算表达式的结果。

functionadd(v1,v2)

varv3=v1+v2;

alert(v3);

returnv3;

alert(eval("

add(1,2)"

));

(7)、isNaN函数:

测试是(true)否(false)不是一个数字。

alert(isNaN('

abc'

(8)、parseFloat函数:

将字符串转换成浮点数字形式。

(9)、parseInt函数:

将符串转换成整数数字形式(可指定几进制)。

JavaScript操作HTML的DOM树的方法与属性摘要

Dom即DoucumentObjectModule

1createElement

创建一个指定标签名的新元素节点,返回值为指向新建元素节点的引用指针。

eg)varpara=document.createElement("

p"

document.body.appendChild(para);

//追加儿子

2createTextNode()

创建一个包含着给定文本的新文本节点,返回一个指向新建文本节点的引用指针:

reference=document.createTextNode(“sdasdsas”)

参数为新建文本节点所包含的文本字符串

eg)

varmessage=document.createTextNode("

helloworld"

varcontainer=document.createElement("

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

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

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