今天看到js的对象有两种:一种是普通的对象,例如 var obj = {},另外一种是函数对象,例如 var objFunc = function(){};
js的对象不存在继承的关系,但是可以借助prototype原型获取继承属性,例如:
<script>
var o = {}; // 我发现了一个东西。
o.eat = function(){return "I am eating."}
o.sleep = function(){return "ZZZzzz..."}
o.talk = function(){return "Hi!"}
o.think = function(){return "Hmmm..."}
var Human = new Function();
Human.prototype = o;
alert(Human.prototype.talk()); // human的属性没有talk,在扩展属性里有talk
var h = new Human();
alert(h.talk()) //human的所有属性加上prototype的属性一起被h继承了
var objFuncA = function(){
alert("A");
}
objFuncA.name = "wangli";
var objFuncB = new Function(); //定义一个函数对象
objFuncB.prototype = new objFuncA(); //alert(A);说明继承了objFuncA对象
alert(objFuncB.prototype.name);
</script>