JavaScript高21.ppt

上传人:豆**** 文档编号:27231810 上传时间:2022-07-23 格式:PPT 页数:10 大小:128.50KB
返回 下载 相关 举报
JavaScript高21.ppt_第1页
第1页 / 共10页
JavaScript高21.ppt_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《JavaScript高21.ppt》由会员分享,可在线阅读,更多相关《JavaScript高21.ppt(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、javascriptl原型和构造函数l 面向对象的js:l 面对对象:把数据及对数据的操作方法放在一起,作为一个相互依存的整体对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。l 面向过程:自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这些模块形成一个树状结构;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。程序流程在写程序时就已决定。javascriptl

2、原型和构造函数l 面向对象的js:l 在Javascript中,创建对象的方式包括两种:对象字面量和使用new表达式。对象字面量是一种灵活方便的书写方式,我们之前经常使用var 变量名 = 对象这种方式创建一个变量,而没有用过new的方式创建。l 实际上js里并没有类的概念,所以也就没有面向对象,但是new的方法却模拟了面向对象,因为new的方法(var 变量名 = new 函数())也就成了唯一能够区别一般函数和构造函数的区别。javascriptl原型和构造函数l 构造函数的内部实现:l 如果一个函数的返回值是引用类型(对象)的数据,那么这个函数作为构造函数用new运算符执行构造时,运算的

3、结果将被它的返回值取代,这时候,构造函数体内的this值丢失了,取而代之的是被返回的对象。例如:l function test()this.a=10;return function()return 1;var m=new test();var n=test();alert(m);/返回return后面的闭包alert(n);/返回return 后面的闭包javascriptl原型和构造函数l 构造函数的内部实现:l 如果一个函数的返回值是一个值类型(this或者非对象),那么这个函数作为构造函数用new运算符执行构造时,它的返回值将被丢弃。new 表达式的结果仍然是this所引用的对象。例如:

4、l function test()this.a=10;return 1;var m=new test();var n=test();alert(m)/返回【Object】alert(n)/返回1.l 包括里面改成this.a=10;this.b=function()alert(this.a);返回值为undefined。javascriptl原型和构造函数l 构造函数的内部实现:l 在用new来调用一个构造函数的时候,发生了下面四件事:l var obj =; /创建一个空对象objl obj._proto_ = text.prototype; /创建一个指向text.prototype的指针

5、l text.call(obj); /将构造函数的作用域赋给新对象,因此m函数中的this指向新对象obj,然后再调用text函数。于是我们就给obj对象赋值了一个成员变量a,这个成员变量的值是10l return obj; /返回新对象obj。javascriptl原型和构造函数l 构造函数的内部实现:l 在之前的例子结束前return this.a;/由于返回的是对象,因此此返回语句在text作为构造函数时没有意义l m.b();/结果为10 l alert(n); /结果为10l 原型:每一个对象都连接到一个原型对象,并且可以从中继承属性。所有通过字面量创建的对象都具有同一个原型对象,并

6、可以通过Object.prototype获取对原型 对象的引用。通过new关键字后跟构造函数创建的对象的原型,就是构造函数的prototype 属性的值l 比如通过new Object()创建的对象和字面量创建的对象一样也继承自 Object.prototypejavascriptl原型和构造函数l 原型:l var sum = name: 百度, type: 加法“l Object.prototype.add = function()l /创建原型对象的一个方法l alert(原型对象的方法);l sum.add(); / =在sum上调用原型对象的方法l 练习:创建一个dog的对象,有属性

7、:name、age和varieties。然后通过document.write输出对象的全部属性,然后利用for/in 遍历对象属性javascriptl原型和构造函数l 构造器和指针:l 通常来说,javascript中的对象就是一个指向prototype的指针和一个自身的属性列表。javascript创建对象时采用了写时复制的理念。l 构造器包括: Object;Function;Array;Date;Stringl 如: var add = function() this.name = 百度;l this.sum=function (a, b)return a + b; /构造器调用l var obj = new add(); /obj是一个对象l obj.sum(1,2); /=3l 上述中的代码创建了一个构造函数add,然后使用构造函数创建对象obj。这里使用了new关键字。然后使用对象调用sum()方法

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁