js 类与对象笔记_第1页
js 类与对象笔记_第2页
js 类与对象笔记_第3页
js 类与对象笔记_第4页
js 类与对象笔记_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

js 类与对象 /* /(1) 用定义函数的方式来定义类 function class1() alert(“构造函数“) /类成员的定义及构造函数 /这里的 class1 既是一个函数 也是一个类,可以将它理解成类的构造函数,负责初始化 工作 /(2) 使用 new 操作符来获得一个类的实例 var d = new Date(); var obj1 = new class1();/会提示“构造函数“ alert(typeof(obj1) /在 js 中,类与函数是一个概念 /如果这个函数没有初始化类成员,则会返回一个空的对象 /(3)使用 引用对戏的属性与方法 /使用方法: 1 对象.属性(方法) 2 对象.“ 属性( 方法)“ var arr = new Array(); arr.push(“abc“); arr“push“(“def“); alert(arr.length) /alert(arr“length“) /js 对象就是一组属性(方法 )的集合 /这种用法适合 不确定具体要引用哪个属性(方法) 的情况 function User() this.age = 22; = “shi“; var user = new User(); /动态显示不确定的属性值 function show(slt) if(slt.selectedIndex != 0) alert(userslt.value); /显示 user 对象中属性为 slt.value 的属性值 - 使用 /alert(eval(“user.“ + slt.value);/ - 使用 eval() /使用 还可以使用 非标识符的字符串来作为属性名(如标识符中不允许以数字开头 或 有空格) user“my name“ = “robert“; /alert( user“my name“) /(4)动态添加 修改 删除对象的属性与方法 var man = new Object(); /添加与修改属性 = “jack“ /添加与修改方法 man.sayHello = function() alert(“hello, my name is “ + ) man.sayHello(); /删除属性 = undefined /删除方法 man.sayHello = undefined /(5)使用 来创建无类型对象 var woman = name: “mary“, sayHello: function() alert(“hello, my name is “ + ) /(6) prototype 原型对象 /每个函数都是一个对象,他们对应的类是“Function” ,但是他们身份特殊,每个函数 对象都具有一个子对象 prototype /prototype 表示了该函数的原型,而函数也是类,则 prototype 表示了一个类的成员的 集合 /空类 function class2() totype.method1 = function() alert(“这是类的方法“) var obj3 = new class2(); obj3.method2 = function() alert(“这是成员的方法“) obj3.method1();/调用类方法,只要是 class2 的对象都可以调用 obj3.method2();/调用对象方法,仅仅是 obj3 调用 /(7)认识函数对象 Function /内部对象: Function、 Date、 Array、 String - 通过 new Array()这样的语句返回一 个对象,js 内部有一套机制来初始化返回的对象,而不是由用户来指定对象的构造方式 /用户自定义对象 /js 中,函数对象对应的类型是 Function,可以使用 new Function()来创建函数对象 function myfun(a, b) return a + b; /等价于 var myfun1 = new Function(“a“, “b“, “return a + b;“) /对比数组对象 var myarr = ; var myarr1 = new Array(); /内部对象 alert(typeof(Function);/function alert(typeof(new Function();/function alert(typeof(Array);/function alert(typeof(new Array();/object alert(typeof(Object);/function alert(typeof(new Object();/object alert(typeof(Date);/function alert(typeof(new Date();/object /(8)prototype /函数的 prototype 扩展 - 所有函数对象的扩展 Ftotype.method3 = function() alert(“function 扩展“) function xfun() xfun.method3(); xfun.method3.method3(); /其中 xfun.method3 也是函数对象,递归思路 /Object 的 prototype 扩展 - 所有 js 对象(包括函数对象)的扩展 Ototype.getType = function() alert(typeof(this) var x = new Array(); var y = function() x.getType();/Object y.getType();/function /(9)将函数作为参数传递 function xx() ale

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论