JavaScript面向对象
来源:互联网 发布:ef英孚教育网络课程 编辑:程序博客网 时间:2024/06/05 04:21
JavaScript面向对象
文章分类:Web前端①JavaScript一切都派生于现有对象的一个副本,即对象赋值跟另一个对象,只是复制对象的副本,并不是指针引用,两者之间的属性值改变,并不相互影响
②对象=关联数组=属性包=存储体,即键/值形式,<属性名/属性值>或<函数名/函数动作>等
③原型中读取的时候从原型链上读取,写入的时候往自己里面写,即读取的时候先从自身查找,没有则从上层父类查找,直至顶层Object对象,而写入则只是写在自身之中
实例解析:
<script>
/*对象赋值,只是复制对象的副本,两者之间的属性值的改变并不相互影响*/
var person={};
person.name="person";
var student={};
student.name=person.name;
person.name="hzp";
alert(person.name); //打印hzp
alert(student.name);//打印person
/*********类的继承********/
function Person(){
this.name="person";
this.getName=function(){
alert(this.name);
}
}
function Student(){
}
Student.prototype=new Person(); //继承Person
function init(){
var s1=new Student();
s1.getName();//打印person
alert(s1.age);//原型中读的时候从原型链上读,先从Student自身找age,没有就从上层父类Person找,直至顶层父类Object,最终没有找到,打印undefined
Person.prototype.age=22;
var s2=new Student();
s2.name="hzp";
s2.getName();
alert(s2.age); //原型中读的时候从原型链上读,先从Student自身找age,没有就从上层父类Person找,结果找到了age
}
init();
/***原型中读的时候从原型链上读,写的时候往自己里面写****/
function object2(){
}
function object3(){
}
var obj3=new object2();
Object.prototype.foo=function(){
alert("object");
}
obj3.foo(); //读的是Object里的foo
object2.prototype.foo=function(){
alert("object2");
}
obj3.foo();//读的是object2里的foo
</script>
②对象=关联数组=属性包=存储体,即键/值形式,<属性名/属性值>或<函数名/函数动作>等
③原型中读取的时候从原型链上读取,写入的时候往自己里面写,即读取的时候先从自身查找,没有则从上层父类查找,直至顶层Object对象,而写入则只是写在自身之中
实例解析:
<script>
/*对象赋值,只是复制对象的副本,两者之间的属性值的改变并不相互影响*/
var person={};
person.name="person";
var student={};
student.name=person.name;
person.name="hzp";
alert(person.name); //打印hzp
alert(student.name);//打印person
/*********类的继承********/
function Person(){
this.name="person";
this.getName=function(){
alert(this.name);
}
}
function Student(){
}
Student.prototype=new Person(); //继承Person
function init(){
var s1=new Student();
s1.getName();//打印person
alert(s1.age);//原型中读的时候从原型链上读,先从Student自身找age,没有就从上层父类Person找,直至顶层父类Object,最终没有找到,打印undefined
Person.prototype.age=22;
var s2=new Student();
s2.name="hzp";
s2.getName();
alert(s2.age); //原型中读的时候从原型链上读,先从Student自身找age,没有就从上层父类Person找,结果找到了age
}
init();
/***原型中读的时候从原型链上读,写的时候往自己里面写****/
function object2(){
}
function object3(){
}
var obj3=new object2();
Object.prototype.foo=function(){
alert("object");
}
obj3.foo(); //读的是Object里的foo
object2.prototype.foo=function(){
alert("object2");
}
obj3.foo();//读的是object2里的foo
</script>
- javaScript 面向对象-对象
- javascript 面向对象初探
- JavaScript 面向对象编程
- JavaScript 面向对象编程
- 面向对象的javascript
- javascript面向对象编程
- javascript的面向对象
- JavaScript的面向对象
- javascript面向对象开发
- 面向对象的JavaScript
- javascript 面向对象编程
- Javascript面向对象开发
- Javascript的面向对象
- JavaScript面向对象编程
- JavaScript 面向对象编程
- javascript面向对象实现
- 面向对象的JavaScript
- JAVASCRIPT - - 面向对象编程
- hessian 演示 (Java和.net交互)
- Java和.NET交互工具 JNBridge
- Linux c获取IP报文
- 暮春小吟
- vim替换命令
- JavaScript面向对象
- 想做个信息系统的管理平台
- System.Net.Mail
- 文章3:Chalk Sounds: The Effects of Dynamic Synthesized Audio on Workspace Awareness in Distributed Groupware
- Android文件操作放到listview中
- 身份证号码是否有效
- office不能够正常启动问题
- Silverlight 2.5D RPG游戏技巧与特效处理:(十一)AI系统
- 【Android-Emulator】Android模拟器介绍和基本使用