对象实例为其输出“未定义”'s原型'的属性.为什么?
Object instance outputs `undefined` for it's Prototype's property. Why?
根据我的理解(虽然是Javascript的新手),对象实例继承其原型的属性和方法。在下文中,我明确地将Title对象实例的原型设置为Foo()
,因此Title应该继承Foo的属性(bar),但alert(Title.bar);
输出undefined
,而它应该(根据我的理解)输出Vanilla
。很明显,我的理解有问题,有人能帮我理解为什么alert(Title.bar);
输出undefined
,而alert(Title.prototype.bar);
输出Vanilla
吗。
function Foo(name) {
return this.bar = name;
};
Foo.prototype.append = function (what) { return this.bar += "" + what; }
Foo.prototype.newbar = "Chocolate";
function Title() {
return function page_title() { return this.title = this.bar; }
}
//Setting Prototype of Title instance to Foo()
Title.prototype = new Foo('Vanilla');
//Setting Prototype's Constructor to Title() for proper inheritance
Title.prototype.constructor = Title;
//Calling Inherited variable(Prototype's) on the instance
alert(Title.bar); // undefined
您可以称之为重定向,但可以使用以下方式完成:
Title.protype=新Foo("香草");
然后创建另一个实例,即
var rek=标题原型
现在检查rek instanceofFoo和rek instance of Foo alert(rek.bar)//提供香草 :)
相关文章:
- 得到"未定义不是函数“;使用显示原型图案时出错
- AngularJS ng repeat显示原型函数未定义
- 可以'这'在原型函数中未定义
- JS原型无法设置属性'moveRight'的未定义
- 原型Javascript中的错误“;类别“-不是函数和未定义的变量
- 为什么new object()创建的对象的原型未定义
- JS原型:未捕获的类型错误未定义不是一个函数
- 当JS函数显然是我正在使用的对象的原型时,未定义
- JS原型 ─为什么是“未定义”
- Javascript 这个关键字在原型函数中的递归执行一次,然后未定义
- 为什么我的代码认为 canvas 函数在 JavaScript 中的构造函数原型中是未定义的
- 原型方法中的事件处理程序函数,为什么它认为.keyCode是JavaScript中未定义的属性
- 高图表热图 未捕获类型错误:无法读取未定义的属性“原型”
- 无法使用服务AngularJS - “无法读取未定义的属性'原型'”
- 原型属性引发未定义
- 未定义 JavaScript 原型方法
- 原型方法返回“未定义”
- 空对象原型未定义
- 使用 jQuery 创建一个视差对象原型,我在 jQuery 函数上不断收到未定义的错误
- 未捕获的类型错误:无法读取未定义的属性“原型”