function people(){
this.name = new Name();
this.age = "17";
}function Name(){ }Name.prototype.printf(){ //在这里.如何能引用到 people的实例对象
//如 age 属性值.
}
this.name = new Name();
this.age = "17";
}function Name(){ }Name.prototype.printf(){ //在这里.如何能引用到 people的实例对象
//如 age 属性值.
}
解决方案 »
- 导航条的判断代码没起作用,大家帮忙看看哈,急
- WEB Workers提升WEB前端脚本JavaScript的处理性能
- 急!!!!注册表问题!!!
- 急!!!!!!!!!!!!
- $(document).ready(function() {} ) 这到底是什么语法啊?
- JavaScript把yyyy/mm/dd转成yyyy-mm-dd如何弄啊
- 使用document.body.scrollHeight获取高度后 怎么给我定义的一个css样式 也就是说我那个样式的高度是==document.body.scrollHeight
- 请问如何隐藏table中的某一行,50分相送!
- 向大家借一个文档,我搜索了半天,也没有找到合适的?
- 这段代码哪里错了???急!
- 怎么设置页面元素的属性
- 如何用jquery来处理文本字符
<script type="text/javascript">
<!--
function people(){
this.name = new Name();
this.age = "17";
}function Name(){ }Name.prototype = new people();
Name.prototype.constructor = Name;
Name.prototype.printf = function(){
alert(this.age)
}var n = new Name();
var o = new people();
n.printf();//-->
</script>
<script type="text/javascript">
<!--
function people(){
this.name = new Name();
this.age = "17";
}function Name(){ }Name.prototype.printf = function(){
people.call(this);
alert(this.age);
}var n = new Name();
n.printf();//-->
</script>
.比方说一个alert().
一个对象要具有另一个对象的属性,可以想象到继承.
所以#1给你的就是JS的原型继承
Name.prototype = new people();//将people对象实例赋给Name的原型,这样Name就具有了people的属性了
而#3是通过call类似对象冒充.
people.call(this);// 正常this是指当前对象Name但通过people.call(this).就将this的指针引用指向people了
// 所以alert(this.age)//这里的this就相当于people具体楼主可以百度:
1.javascript原型继承
2.javascript call和apply
宗旨其实就是继承
<script type="text/javascript">
<!--
// 类抄写
var Extend = function(destination, source){
for(var pro in source){
destination[pro] = source[pro];
}
return destination;
}
function people(){
this.age = "17";
}function Name(){ }
Extend(Name.prototype,new people())Name.prototype.printf = function(){
alert(this.age);
}var n = new Name();
n.printf();//-->
</script>