Lesson2javascript内置对象OOP开发.docx

上传人:b****2 文档编号:24312761 上传时间:2023-05-26 格式:DOCX 页数:14 大小:275.36KB
下载 相关 举报
Lesson2javascript内置对象OOP开发.docx_第1页
第1页 / 共14页
Lesson2javascript内置对象OOP开发.docx_第2页
第2页 / 共14页
Lesson2javascript内置对象OOP开发.docx_第3页
第3页 / 共14页
Lesson2javascript内置对象OOP开发.docx_第4页
第4页 / 共14页
Lesson2javascript内置对象OOP开发.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

Lesson2javascript内置对象OOP开发.docx

《Lesson2javascript内置对象OOP开发.docx》由会员分享,可在线阅读,更多相关《Lesson2javascript内置对象OOP开发.docx(14页珍藏版)》请在冰豆网上搜索。

Lesson2javascript内置对象OOP开发.docx

Lesson2javascript内置对象OOP开发

Javascript内建类和OOP开发

(1)Javascript内建类

(1)Data类

(2)Math类

(3)String类

(4)Array类

(5)Boolean类

前面的五个类都和java中的一样。

可以参考JavaSe;

(6)Number类

 

Array类

Array类的方法:

concat

连接参数并把它作为新数组返回

join

把某数组中所有的元素连接成一个字符串

pop

删除数组中最后一个元素,并返回该值

reverse

反转数组元素的位置

push

把一个或者多个元素添加到数组的末尾并返回数组的新长度

shift

删除数组的第一个元素,并返回该值

slice

截取数组中的一个片段,并把该片段作为新数组返回

sort

数组原地进行排序

splice

向数组中添加元素或者从数组中移除元素

toString

返回一个字符串,该字符串中的各个元素用逗号隔开

unshift

把一个或者多个元素添加到数组开头,并返回数组新长度

其他的方法和java中差不多。

Function类

创建函数:

VarmethodName=newFunction(param1,param2,param,functionBody);

例如:

Varadd=newFunction(“a”,”b”,“return(a+b)”);

与下面的函数定义等价:

functionadd(x,y,z)

{

returnx+y;

}

函数调用:

add(1,3);

add.call(null,1,3);//null后面是参数列表

add.apply(null,[1,3]);//null后面是参数数组

这三种方法都可以。

结果为:

4,3,2

(2)在javascript中使用正则表达式

使用RegExp对象

(1)创建一个RegExp对象

在javascript中可以有两种方法来创建一个正则表达式regex,

(2)使用exec方法和test方法进行正则匹配

exec(),若匹配,返会回匹配结果的一个数组。

若不匹配则返回null

test(),若匹配,返回true,若不匹配,返回false。

使用Sring对象

有match方法eplace方法,search方法,split方法。

 

(3)自定义类和OOP开发

A)类的创建和使用

functionclassName(arg1,arg2,…,argn)

{

属性声明;

方法声明;

}

执行的结果为:

B)关键字prototype

使用该关键字定义属性方法,可以写在类外面也可以写在类里面。

格式为:

ClassName.prototype.属性名(或者方法名);

上面的例子有。

使用prototype修饰的属性或者方法都是共享的。

看看下面的例子。

两次运行的结果的name的值是不同的,这是为什么呢?

首先要明白一点:

在javascript中string是个常量

如果name是个对象的引用(例如:

数组),就是另一种情况了。

Prototype(原型)

原型的属性或者方法是被该类的所有的对象所共享的。

当两个对象person1和person2生成后,是四条黑箭头表示的状态,当执行person1.name="lisi"

后,person1的name就成了lisi(红线)了。

C)访问权限控制

使用关键字this或者prototype定义属性和方法都是public的。

不使用关键字的属性和方法都是私有的。

上面的例子中,name,age,showInfo(),showInfo2()都是public的。

address是私有的

D)类的继承

要继承一个类,

可以使用以下几种方法:

方法一:

对象冒充:

方法二:

使用call或者apply方法实现

使用apply基本上和call一样。

方法三:

使用原型链(prototypechain)方式

可以使用prototype指定该类的一个实例。

 

方法四:

混合方式(推荐使用这种方式继承)

就是把call(或者apply)和prototype混合

看一个练习:

 

E)类成员和实例成员

className.成员名

F)方法的重载

根据前面的学习,我们知道了在javascript中,在方法调用时,是不受方法的定义中的参数个数的影响的。

在javascript中是如何实现方法的重载呢?

实际上,无须为方法直接定义参数,直接使用arguments对象的长度进行判断即可:

结果为0,1,3,6

因此这样就是方法的重载了。

G)函数对象的length属性

每一个函数都有一个length属性,表示期望的参数的个数。

functionadd(){}的add.length值是0

functionadd(a){}的add.length值是1

functionadd(a,b){}的add.length值是2

这个length属性和arguments.length值的意义是不同的,arguments.length是实际的参数的个数。

 

(4)定时器

Javascript提供的两个定时器

seTimeout

setTimeout(“xx”,5000);//5000表示定时5秒钟,xx是执行该方法时的要执行的事件这个函数的意义:

当执行setTimeout方法时,过5秒后,执行xx事件。

注意:

xx不管是什么,都必须用””引着。

执行结果:

 

setInterval()与clearInterval()

setInterval()

格式:

[定时器对象名=]setInterval(“<表达式>”,毫秒)功能:

重复执行<表达式>,直至窗口、框架被关闭或执行clearInterval。

clearInterval():

终止定时器

格式:

clearInterval(定时器对象名)

 

(5)如何定义对象

可以先new一个对象,然后动态的添加属性或者删除属性

也可以使用{,,,,}直接添加属性

删除属性同

这是实际开发中使用最广泛的一种方法。

(6)如何定义数组

和定义对象一样,常用两种方式定义使用数组。

直接定义一个数组,然后使用push方法添加元素。

直接赋值法

同理,这种方法在开发中也是比较常用的。

 

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

当前位置:首页 > 高等教育 > 历史学

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

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