0
点赞
收藏
分享

微信扫一扫

js基础③—面向对象


C#:从类继承

js:从对象继承

什么叫继承?

模板(类)

原型继承(实体)

有一个对象存在,构造函数设置原型为这个对象

创建出来的对象就继承与这个对象(从对象那里继承)

<script type="text/javascript">       
onload = function () {
var Person= function(){
this.say = function(){
alert("你好");
};
};

var p1= new Person();
var p2 = new Person();

p1.say();
};
</script>

此时p1、p2用的不是同一个say方法

js基础③—面向对象_javascript

方法与变量name、age等字段一样,占据了对象的内存

也就是说,每创建一个这样的函数,就会浪费一段这样的内存空间

什么是原型继承?

原型就是函数的prototype属性

//使用继承后
var Person = function(){

};

Person.prototype ={say:function(){
alert("牛号");
}};

var p1 = new Person();
var p2 = new Person();

alert(p1.say===p2.say); //打印true

js可以实现多继承

<script type="text/javascript">       
onload = function () {
var inherite= function(name){
this.name= name;
};

var o = {
sayHello:function(){
alert("你好,我是"+ (this.name || "不存在"));
}
};

o.sayHello(); //此时打印”你好,我是不存在“

inherite.call(o,"赵晓虎");

o.sayHello(); //此时打印”你好,我是赵晓虎“
};
</script>

原型链

js基础③—面向对象_javascript_02

如果需要原型,那么就一定要有函数

每一个对象有一个属性叫:_proto_

对象有原型,那么原型也是对象,原型也有原型

所有的函数是对象,继承自Function.prototype

Function.prototype是对象,继承自Object.prototype

Object.prototype是对象,继承自null

obj是对象,继承自Object.prototype

Function是对象,继承自Function.prototype

Function是函数,继承自Function.prototype

js成员的访问规则

O.方法( )

首先在o当前这个类型中寻找该成员的定义,如果存在该成员的定义,那么就直接使用该成员

如果该成员不在当前类型中,就访问其原型(原型链中的上一级)

以此类推,直到null位置

什么是js框架库?

使用js代码封装为一些文件,使用时只要引用进来即可

常见的js库

Prototype、YUI、Dojo、ExtJS、Jquery等

举报

相关推荐

0 条评论