版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Web界面开发 js第四课面向对象的JS开发js对象的创建js类的定义对象的属性和方法this的使用无类型对象用创建无类型对象var user = name:Jerry,colorArray:red, green, black,hello:function()alert(Hello, +)alert();user.hello();对象的创建对象是一种复合数据类型,它们将多个数据值集中在一个单元内,而且允许使用名字来存取这些值。对象的另一种解释是:它是一个无序的属性的集合,每个属性都有自己的名字和值。存储在对象中已命名的值既可以是数字和字符串这样的原始值,也可
2、以是对象,创建对象最简单的方法对象直接量var empty = ;var point = x:0,y:0;创建对象new 运算符可以创建具体的一类对象。在 new 的后面跟着调用一个构造函数,它用来初始化对象的属性var a = new Array();var d = new Date();var r = new RegExp(javascript,i);/Array(),Date(),RegExp()构造函数是核心/JAVASCRIPT内建的一部分Object()构造函数创建一个空对象,就象直接量所做的事一样对象的属性访问:var x = 对象名.属性名;设置:对象名.属性名 = x;var
3、 book = ;book.title = JavaScript:The Definitive Guide;book.chapter1 = new Object();book.chapter1.title = Introducation to JavaScript;book.chapter1.page = 11;book.chapter2 = title:Lexical Structure, pages:6;属性的枚举for/in循环提供了一种遍历对象属性的方法,它可以枚举出对象的所有属性名function displayPropertyNames() var name = ; for(var
4、 name in obj)names += name +n; alert(names)属性的删除var book = ;book.chapter2 = “fewklfe”;delete book.chapter2,删除属性并不仅仅把属性值设为undefined,它实际上是从对象中移除了属性,在删除之后,for/in不会再枚举该属性作为关联数组的对象perty objectproperty前者的属性名是标识符,后者的属性值是一个字符串因些,采用后一种方式,我们可以为对象动态的添加属性var addr = ;for(i=0;ib.r) return a; else return
5、 b;var c = new Circle(1.0)var d= new Circle(1.2);var bigger = Circle.max(c,d);尝试执行:alert(c.max);toString/valueOffunction MyClass()this.id = 100;this.valueOf = function() return 1; this.toString = function() return 2;var s = new MyClass();var s1 = s + 10; /调用valueOfalert(s1); /11 alert(s); /2 调用toStr
6、ing更深入的理解thisfunction s()this.id = 200;alert(this.id); window.id = 100; s(); /得到200,如果红色部分注释,则返回100/执行s时,this指向当前对象:window更深入的理解thisfunction S(id)this.id = id;this.test = function()alert(this.id); /分析以下代码运行结果var id = 20;var t = new S(10);t.test();var fun = t.test; fun();Object类JS中所有对象都继承自Object类通用的属
7、性和方法:1 constructor属性(对应初始化对象的构造函数)var c = new Date(); c.constructor = Date;/truec.constructor 指向Date()函数。2 toString();/转换成字符串。许多类重定义了toString()Object类3 toLocaleString();/返回本地化字符串表示4 valueOf() ;/当一个对象转换为某种基本数据类型而不是字符串的时候才会调用此方法。许多时候valueOf()类似toString()。构造函数返回对象function Test()this.age = 21; /当返回函数后,t
8、his将失去引用,被抛弃,等待垃圾回收var id = 0; /私有变量return function()/返回后此处不能再访问this.age,因为this被抛弃return id+;var s = new Test(); /s得到return的函数引用alert(s.age); /undefinedalert(s(); /调用return的函数构造函数返回普通值function Test()this.age = 21;var id = 0; /私有变量return this.age;var p = new Test(); /得到Test对象,并不得到return的值.alert(p.age
9、); /可以访问,因为本来就是Test对象alert(Test(); /返回值仅在此情况下有用. 把Test()当作函数使用,/输出返回的值.原型 - prototypefunction Student()Stotype.x = 10;new Student().x = 10;Stotype.f = function()alert(1);new Student().f();给构造函数的原型设定属性后,生成的对象都有这个属性原型 - prototype上例中也可以这样设定:function Student()Stotype = x: 1
10、0,f: function()alert(1);原型 - prototype分析以下代码:function Student()Stotype.x = 10;var stu1 = new Student();stu1.x = 20;var stu2 = new Student();stu2.x = ?原型 - prototype原型与this定义成员的区别:function A() this.x = 1;function B(); B.prototype.x = 1;var obj = new A(); /var obj1 = new A();/每一个对象持有一个xvar obj = new B();/var obj1 = new B();/所有对象共享x原型的读写一旦给原型的某属性赋值,所有该类对象将共享该属性,原型影响所有继承的对象读取对象a的p属性的时候,js先检查a中是否有p,如果没有,接下来检查原型中是否有p.为对象的属性赋值时,不会影响原型中的属性值如果原型中存在一个p,在对象a中又重写一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI在休闲体育服务与管理中的应用
- 施工会计及基础 3
- 招标采购项目投标人参与报价确认函
- 公关服务公司公关项目质量考核评价管理制度
- PLC技术及应用(微课版)课件 8.3知识详解伺服电动机
- 2026调查员面试题目及答案
- 2涵洞基本知识
- 航建玻璃厂房项目可行性研究报告模板立项申批备案
- 家庭冬季流感防护指南手册 (标准版)
- 老旧电梯改造维修工作手册 (标准版)
- 2026年湖南省政工专业职称考试(新时代思想政治工作)练习试题及答案
- 非结核分枝杆菌病诊断与治疗指南(2025版)
- 布鲁氏菌病诊疗指南2025
- 2026内蒙古乌海市国创数字产业发展有限责任公司招聘15人考试备考试题及答案解析
- 2026年江苏省自考13428当代中国政府与政治考点重点
- 2026河北建投交通投资有限责任公司暑期实习生招聘笔试参考试题及答案解析
- 2026长江科学院武汉长江科创科技发展有限公司招聘26人笔试参考题库及答案解析
- 2026年九年级数学中考模拟试卷(重庆卷)
- 2026年超星尔雅人工智能与信息社会练习题库含答案详解【B卷】
- (新教材)2026人教版三年级下册道德与法治期末复习知识点总结梳理
- 《地理信息数据分类分级工作指南(试行)》
评论
0/150
提交评论