不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
将自定义对象赋值给prototype的结果
编辑:dnawo 日期:2009-07-24
给构造函数添加一个方法我们通常这么做:
也有人是直接将一个自定义对象赋值给prototype:
暂时没发现有什么使用上的问题,但还是发现了一点不同:我们知道,原型对象默认有一个属性constructor,他指向构造函数本身,测试一下:
结果显示:
引用内容
结果显示:
引用内容
这和Object.prototype.constructor的结果是一样的,也就是说:将自定义对象赋值给prototype后,改变了原型对象constructor属性的值,他不再是表示prototype所对应的构造函数,其值是超类(Object)的构造函数。
复制内容到剪贴板
程序代码

function Class()
{
this.Name = "Class";
}
Class.prototype.getName = function(){ return this.Name; };
{
this.Name = "Class";
}
Class.prototype.getName = function(){ return this.Name; };
也有人是直接将一个自定义对象赋值给prototype:
复制内容到剪贴板
程序代码

function Class()
{
this.Name = "Class";
}
Class.prototype = {
getName : function(){ return this.Name; }
};
{
this.Name = "Class";
}
Class.prototype = {
getName : function(){ return this.Name; }
};
暂时没发现有什么使用上的问题,但还是发现了一点不同:我们知道,原型对象默认有一个属性constructor,他指向构造函数本身,测试一下:
复制内容到剪贴板
程序代码

function Class()
{
this.Name = "Class";
}
Class.prototype.getName = function(){ return this.Name; };
alert(Class.prototype.constructor);
{
this.Name = "Class";
}
Class.prototype.getName = function(){ return this.Name; };
alert(Class.prototype.constructor);
结果显示:

function Class()
{
this.Name = "Class";
}
{
this.Name = "Class";
}
复制内容到剪贴板
程序代码

function Class()
{
this.Name = "Class";
}
Class.prototype = {
getName : function(){ return this.Name; }
};
alert(Class.prototype.constructor);
{
this.Name = "Class";
}
Class.prototype = {
getName : function(){ return this.Name; }
};
alert(Class.prototype.constructor);
结果显示:

function Object() {
[native code]
}
[native code]
}
这和Object.prototype.constructor的结果是一样的,也就是说:将自定义对象赋值给prototype后,改变了原型对象constructor属性的值,他不再是表示prototype所对应的构造函数,其值是超类(Object)的构造函数。
评论: 0 | 引用: 0 | 查看次数: 5133
发表评论
请登录后再发表评论!