如题,在js中如果我想往String这个构造函数里面添加一个首字母大写的toInitialUpperCase方法,为什么人们要往String的prototype里面添加,
[code="js"]String.prototype.toInitialUpperCase = function () { #code... }[/code]
而不是向String本身添加呢?
[code="js"]String.toInitialUpperCase = function () { #code... }[/code]
如果在原型上面添加方法,感觉又要跑多一节原型链,还不如在本身上面加来得直接,那为什么还要在原型添加呢?
在js中,为什么要往函数的原型上添加方法/属性,而不在自己本身上面添加呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- iteye_5246 2013-02-23 09:23关注
哥们
javascript中的每个对象都有prototype属性,Javascript中对象的prototype属性的解释是:返回对象类型原型的引用。
看下面的demo就明白了
[code="javascript"]
function baseClass()
{
this.showMsg = function()
{
alert("baseClass::showMsg");
}}
function extendClass()
{}
extendClass.prototype = new baseClass();
instance = new extendClass();
instance.showMsg(); // 显示baseClass::showMsg[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报